Главная страница
    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
7-7740
dolmat
2003-04-18 15:11
2003.07.03
как получить список всех запущенных приложений?


14-7657
NikotiN
2003-06-16 16:16
2003.07.03
А что лучше PowerDraw 3 или DelphiX


7-7736
LexusU
2003-04-23 12:33
2003.07.03
Как можно получить текст из окна?


14-7628
TuZ
2003-06-18 21:11
2003.07.03
Как сделать сервис для 2К или НТ?


1-7511
A
2003-06-21 16:54
2003.07.03
Свойство компонента ListBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский