-
В 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, делать не стоит?
-
Как я понял, WM_Close посылается в оконную функцию, а не извлекается из очереди с помощью PeekMessage, то есть «официально» AppletTerminated - указывает на выход из loop в Run?
Не пойму я как мне ее использовать? :)
|