Главная страница
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.012 c
14-7614
fool
2003-06-18 16:44
2003.07.03
Info about


1-7486
McSimm2
2003-06-19 12:52
2003.07.03
---|Ветка была без названия|---


3-7319
Птиц
2003-06-09 18:48
2003.07.03
редактирование DBGrid


14-7626
Плохой человек
2003-06-15 22:06
2003.07.03
Windows - один сплошной глюк....


6-7578
Aleks
2003-04-28 13:02
2003.07.03
Как узнать запущена ли программа и имя компьютера на котором...