![]() |
|
|
Регистрация | << Правила форума >> | 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?
Круто! ![]() |