Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.19;
Скачать: CL | DM;

Вниз

TThread и OnTerminate   Найти похожие ветки 

 
Nucer   (2008-05-06 20:24) [0]

Возможно ли получить событие OnTerminate если у программы нет окна? Посмотрел по коду - используется метод Synchronize. Получается писать вот так и ждать вызова нет смысла?
Tread.OnTerminate:=HandleMonitorTerminate;

А какая альтернатива?


 
Nucer   (2008-05-06 20:30) [1]

Правильно ли будет если в конце Execute я напишу:
if Assigned(OnTerminate) then OnTerminate(self);


 
Сергей М,   (2008-05-06 20:32) [2]


> А какая альтернатива?


А не использовать штатную синхронизацию.

Мало ли альтернатив, если нет формоокон, а, значит, нет и всех этих VCL-"премудростей"


 
Сергей М,   (2008-05-06 20:33) [3]


> А какая альтернатива?


А не использовать штатную синхронизацию.

Мало ли альтернатив, если нет формоокон, а, значит, нет и всех этих VCL-"премудростей"


 
Сергей М,   (2008-05-06 20:48) [4]


> Правильно ли будет если в конце Execute я напишу


Криминала не будет, но обработчик, если он назначен, будет вызван в контексте  этого потока.

Оно тебе надо ?

Если надо, то никто и ничто не мешает.


 
han_malign ©   (2008-05-07 09:24) [5]

уже в D7 никаких окон в Synchronize не используется, но:
classes.pas
{  Call CheckSynchronize periodically within the main thread in order for
  background threads to synchronize execution with the main thread.  This
  is mainly for applications that have an event driven UI such as Windows
  or XWindows (Qt/CLX).  The best place this can be called is during Idle
  processing.  This guarantees that the main thread is in a known "good"
  state so that method calls can be safely made.  Returns True if a method
  was synchronized.  Returns False if there was nothing done.
}
function CheckSynchronize(Timeout: Integer = 0): Boolean;

- по умолчанию, в "оконном приложении" - вызывается в TApplication.WndProc на WM_NULL и в TApplication.Idle(который дергается когда вычищается очередь сообщений главного окна)



Страницы: 1 вся ветка

Текущий архив: 2009.04.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
4-1208323371
EgorovAlex
2008-04-16 09:22
2009.04.19
Есть список установленных драйверов принтеров, как определить


2-1236084646
StriderMan
2009-03-03 15:50
2009.04.19
Глюк TDateTimePicker.OnChange


2-1235746713
Mops
2009-02-27 17:58
2009.04.19
Postdata & BeforeNavigate2 & string


15-1234859394
Ega23
2009-02-17 11:29
2009.04.19
знатоки JavaScript, посоветуйте


1-1211146906
Shadow
2008-05-19 01:41
2009.04.19
зайди там все объяснено!