![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
В программе открывается модальное окно (должно выполнять некоторую проверку, если все Ок, то закрыться, если нет, пользовытель выполняет нектороые действия). Делаю так:
Код:
Form1
procedure TForm1.FormActivate(Sender: TObject);
begin
Form2.ShowModal;
FirstShow:=false;
end;
Form2
procedure TForm2.FormActivate(Sender: TObject);
begin
Form2.ModalResult:=mrCancel;
Form2.Close;
end;По всем законам физики Form2 должно закрываться. У меня на экране 2 окна (((( Последний раз редактировалось M.A.D.M.A.N., 20.06.2013 в 15:22. |
|
#2
|
||||
|
||||
|
Попробуй убрать из автосоздаваемых и разрушать при закрытии
Project --> Options --> Forms, убрать форму 2 из auto create При вызове формы: Код:
if (not Assigned(form2)) then form1:=Tform2.Create(Self); form2.showmodal; На событии OnClose: Код:
Action:=caFree; form2:=nil; Должно помочь |
|
#3
|
|||
|
|||
|
Не-а, не помогает. Все равно 2 окна открывается
![]() |
|
#4
|
||||
|
||||
|
Попробуйте НЕмодальное - просто show
Эти модальные окна все время выносят мозг. Стараюсь вообще их не использовать |
|
#5
|
||||
|
||||
|
Цитата:
|
|
#6
|
|||
|
|||
|
Т.е. получается, что сразу отрабатывается событие onActivate, а потом ModalResult устанавливается в 0?
Круто! ![]() |