![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование 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?
Не пойму я как мне ее использовать? :)