Главная страница
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.02 c
1-49558
Ciber
2004-01-06 06:39
2004.01.16
RichEdit


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


8-49646
Kosty
2003-09-16 14:24
2004.01.16
Media


14-49706
SoS
2003-12-25 15:12
2004.01.16
Народ, а есть ли декомпилятор способный вытащить 100% кода?


3-49432
GIL
2003-12-18 15:32
2004.01.16
Преобразование БД