Форум: "Основная";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
ВнизКак узнать когда завершиться поток? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c