Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
3-7355
anton2v
2003-06-10 12:54
2003.07.03
Копирование данных из одной таблицы в другую


1-7466
Fil
2003-06-20 16:15
2003.07.03
Копирование каталогов


1-7421
manumba
2003-06-23 11:23
2003.07.03
Профессиональное использование ООП в Delphi.....литература


7-7731
XAOC
2003-04-21 06:33
2003.07.03
Реестр: чтение REG_MULTI_SZ


1-7449
Mishenka
2003-06-23 16:29
2003.07.03
Как в TreeView определить над каким узлом находжится курсор мыши?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский