Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.03;
Скачать: 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 вся ветка

Текущий архив: 2003.07.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
14-7624
Knight
2003-06-15 23:22
2003.07.03
BIOS


9-7280
Mihey
2003-01-19 23:40
2003.07.03
Изометрическая графика.


3-7292
Nikos
2003-06-07 20:38
2003.07.03
Подскажите, что обозначает эта ошибка?


1-7479
Kiril
2003-06-20 22:34
2003.07.03
Insert не вставляет символ 0 , странно...


11-7370
Alexander
2002-10-24 13:42
2003.07.03
Можно ли TKOLTrayIcon применять в сервисах?