Вниз
Скачать: CL | DM;

Закрытие приложения   Найти похожие ветки 

 
ABBS   (2003-06-21 18:19) [0]

Возникла такая проблемма: пытался сделать так, что бы при закрытии дочерней формы кнопкой в заголовке, закрывалось все приложение.Для этого, в обработку событий закрытия дочерней формы, вставлял команду на закрытие главной, но это приводит к ошибке( кстати, по ходу выполнения программы, часто приходиться открывать и закрывать формы, поэтому закрытие главной формы пришлось вставлять в самое последнее событие, то есть, в OnDestroy ).Получился замкнутый круг: я не могу закрыть главную форму, пока не будут обработаны все события при закрытии дочерней, но, естественно, когда закрывается дочерняя форма, то главная остается открытой...Подскажите, пожалуйста, кто знает.


 
ggsoft ©   (2003-06-21 18:37) [1]

Чтож так мудрено-то...

Ну раз сам решаешь, когда все надо закрыть, заведи поле-флажок в классе дочерней формы, обрабатывай событие OnCloseQuery()

например так:
...
TFormChild = class(TForm)
...
private
FbClosing: Boolean;
...
end;
...
procedure TFormChild.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if (FbClosing) then Application.Terminate;
end;

procedure TFormChild.Button1Click(Sender: TObject);
begin
FbClosing := True;
end;
...


 
ABBS   (2003-06-21 19:22) [2]

Проблемма в том, что событие OnCloseQuery происходит даже тогда, когда я, просто, скрываю форму, а не уничтожаю ее, поэтому, когда у меня программа скрывает форму, происходит закрытие приложения - это, разумеется, не совсем то, что мне нужно.


 
ggsoft ©   (2003-06-21 20:23) [3]

Конечно, это не совсем то...

Так на что тогда проверка (FbClosing) показана, ты же контролируешь этот флажок и пока он =False приложение из TFormChild.FormCloseQuery не закроется, а закроется, спрячется только это окно... что не так?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
1-7517
Rafik
2003-06-20 11:27
2003.07.03
DateTimePicker


14-7705
nick-from
2003-06-17 13:34
2003.07.03
Защита сервера


14-7676
alpine
2003-06-15 13:07
2003.07.03
Помогите с выбором !


8-7558
CrowD
2003-03-21 11:50
2003.07.03
Почему так долго?


3-7367
grifon_nn
2003-06-09 17:43
2003.07.03
Резервная копия




   Наверх