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

Вниз

Как узнать когда завершиться поток?   Найти похожие ветки 

 
aser   (2004-01-04 10:26) [0]

Я создаю поток с помощью ф-ии

h:=CreateThread(nil,0,@FNC,@par,0,ThreadID);

Как мне отоить его завершение? Я так понимаю что нужно делать ловушку с помощью SetWindowsHookEx. Но только что-то не найду ни как на какое событие она(hook) должна реагировать?
Подскажите, плз, какое событие (типа WM_...) или как по другому отловить завершение потока?


 
Rimd   (2004-01-04 11:08) [1]

За чем тебе ловушка? регистрируй какое нить сообщение и отправляй его при завершении твоей @FNC


 
aser   (2004-01-04 11:18) [2]

Мне не удобно изменять ф-ю,т.к. она как вариант будет ещё использоваться совсем не в отдельном потоке.
А писать еще одну ф-ю в качестве "прослойки" между моей ф-ей и ф-ей для потока я бы тоже не хотел.


 
Rimd   (2004-01-04 11:28) [3]

Все просто! Заделай какую нить глобальную переменную и управля с помощью ее. К примеру если переменная True значит посылаем сообщение, если иначе то нет. И когда вызываешь свой тред пиши что она True, после того как из функции треда пошлешь сообщение пиши что она False. Все просто!


 
aser   (2004-01-04 11:38) [4]

Спасибо, конечно за совет! Может так и сделаю. Но интересно было бы отловить завершение потока. В Delphi в окне Thread Status <Shift+Ctrl+T> отлавливается как-то старт и завершение потоков. В тоже время WinSight32 почему то нет :-(. У меня создается впечатение что я запутался :-(


 
Ihor Osov'yak ©   (2004-01-04 12:46) [5]

WaitForSingleObject не выручит?

Один из вариантов
case WaitForSingleObject(h, 0) of
WAIT_OBJECT_0: ShowMessage("Дело сделано");
WAIT_TIMEOUT: ShowMessage("В процессе");
else ShowMessage("Не все нормально в королевства датском..");
end;

если же просто ждать окончания потока до одурения:
WaitForSingleObject(h, INFINITE);

Ps - писалось по памяти, возможны опячатки...


 
aser   (2004-01-04 12:57) [6]

Да. Это уже выручило. Спасибо.



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

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

Наверх




Память: 0.47 MB
Время: 0.028 c
14-49765
Кен
2003-12-23 01:48
2004.01.16
Как или какой программой можно реализовать защиту от спама путём


3-49462
shnurok
2003-12-17 16:11
2004.01.16
Проблема с отображением даты


3-49448
stem
2003-12-18 11:42
2004.01.16
dbloocuplistbox


3-49405
grusty
2003-12-19 13:28
2004.01.16
Экспорт (импорт) данных из (в) MemoryTable...


7-49784
DimaK
2003-10-12 19:39
2004.01.16
MessageBox