Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Механизм работы Application.Terminate [D7, WinXP]


Жбан ©   (2004-10-07 10:38:00) 

Добрый день! Уважаемые мастера, объясните почему после выполнения Application.Terminate выполняются идущие за ним строки кода. Простейший пример: В обработчике OnClick кнопки пишем такие строки:
Application.Terminate;
WinExec('Calc', 1);
... и блокнот запускается, хотя раньше должно приложение закрыться.


КаПиБаРа   (2004-10-07 10:56:00) [1]

Жбан   (07.10.04 10:52) [2]
OnCloseQuiery

procedure TApplication.Terminate;
begin
 if CallTerminateProcs then PostQuitMessage(0);
end;

Как работает PostQuitMessage объяснять надеюсь не надо?


Жбан   (2004-10-07 10:52:00) [2]

Что нужно использовать halt или exit, я дошел экспериментальным путем. Но ведь по логике после terminate возникает событие OnCloseQuiery, потом OnClose и приложение должно закрыться (не будем говорить о секции Finalize).


КаПиБаРа   (2004-10-07 10:43:00) [3]

Жбан   (07.10.04 10:38)
F1 - Application.Terminate, Halt

===========================
Не путайте теплое с мягким.
===========================


Наверх

Титульная страница Поиск, карта сайта Написать письмо