Конференция "KOL" » Использование AppletTerminated, цель этой переменной?
 
  • Ruzzz (21.07.09 23:36) [0]
    В 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 (21.07.09 23:44) [1]
    Как я понял, WM_Close посылается в оконную функцию, а не извлекается из очереди с помощью PeekMessage, то есть «официально» AppletTerminated - указывает на выход из loop в Run?

    Не пойму я как мне ее использовать? :)
 
Конференция "KOL" » Использование AppletTerminated, цель этой переменной?
Есть новые Нет новых   [134431   +11][b:0][p:0]