Главная страница
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.039 c
3-49392
Floppy
2003-12-19 16:53
2004.01.16
Сортировка в лукар поле


1-49496
S@shka
2004-01-03 15:39
2004.01.16
Можно ли свободно использовать TStringList в разных потоках?


1-49601
_hunter_
2004-01-05 12:02
2004.01.16
Как отключить автопрокрутку...


6-49664
Новичек
2003-11-15 18:58
2004.01.16
Помогите :(


3-49387
jack128
2003-12-20 15:25
2004.01.16
Проблема с запросом