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

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

Использование AppletTerminated, цель этой переменной?


Ruzzz ©   (2009-07-21 23:36:00) 

В KOL.pas видно, что во многих местах идет проверка AppletTerminated на false, как я понимаю этот фложок «официально» указывает на то что идет выход их приложения? Более того например в библиотеке XXSocket также используется проверка на false этой переменной, значит автор KOL ввел ее для целей проверки на выход? Но вот в самом KOL.pas присвоение false идет в трех местах:
1) В функции TControl.ProcessMessage, вызывается PeekMessage и если есть сообщение WM_QUIT;
2) В функции WndProcForm если включен {$IFDEF ENDSESSION_HALT} и приходит сообщение WM_ENDSESSION (перед halt)
3) В функции TerminateExecution, которая вызывается в самом конце Run

Но как же быть с WM_Close? То есть если я буду ориентироваться на AppletTerminated = False в коде какой либо моей библиотеки, а «стандартный» выход это чаще всего WM_Close, получается что AppletTerminated не сработает.

Когда и при каких условиях ее использовать?
Как я понимаю, выход из программы так AppletTerminated := True, делать не стоит?


Ruzzz   (2009-07-21 23:44:00) [1]

Как я понял, WM_Close посылается в оконную функцию, а не извлекается из очереди с помощью PeekMessage, то есть «официально» AppletTerminated - указывает на выход из loop в Run?

Не пойму я как мне ее использовать? :)


Наверх

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