Текущий архив: 2007.03.25;
Скачать: CL | DM;
Вниз
Как узнать завершения потока? По окончанию сделать Showmessage... Найти похожие ветки
← →
mmms (2007-02-02 10:15) [0]Здравствуйте! Такое дело, есть простенький поток:
type
TGoThread = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
end;
в основной форме:private
GT: TGoThread;
Тут же по кнопке его создаю:GT := TGoThread.Create(False); // start
GT.FreeOnTerminate := True;
Выполняется код:procedure TGoThread.Execute;
begin
//работа по обработке
end;
Все Ок, но вот как бы узнать окончание потока? Если Showmessage вставлю в сам поток в TGoThread.Execute, в самый конец, то сработает, но это конечно не правильно, да и Showmessage не модальное сообщение, и если на форму кликнуть, оно скроется за ней.. Вот и весь вопрос, заранее благодарю за ответ.
← →
Рамиль © (2007-02-02 10:18) [1]OnTerminate
Трудно справку внимательно прочитать?
← →
JFK&MM_extramarital_son (2007-02-02 10:18) [2]PostMessage(SomeVCLWindowHandle,YourMessage,WParam,LParam)
← →
brother © (2007-02-02 10:19) [3]ну пикни писи спикером на худой конец....)
этож для отладки надо? потом уберешь!)
писи спикер форева!
← →
brother © (2007-02-02 10:20) [4]а.... ну конеш на событие OnTerminate )
← →
mmms (2007-02-02 10:23) [5]OnTerminate
Все понял, спасибо :)
← →
Сергей М. © (2007-02-02 10:24) [6]
> Как узнать завершения потока?
WaitForSingleObject, MsgWaitForMultipleObjects
← →
Сергей М. © (2007-02-02 10:28) [7]OnTerminate - это не событие завершения потока, это событие завершения выполнения метода Execute() в потоке.
← →
Рамиль © (2007-02-02 10:32) [8]
> Сергей М. © (02.02.07 10:28) [7]
Сомневаюсь, что автору нужны такие тонкости.
← →
Рамиль © (2007-02-02 10:32) [9]Тем более, что
GT.FreeOnTerminate := True;
← →
Сергей М. © (2007-02-02 10:38) [10]
> Рамиль © (02.02.07 10:32) [8]
Следует понимать суть происходящего, иначе грабли неминуемы.
← →
Kolan © (2007-02-02 14:02) [11]Потоки лучьше отлаживать логом.
← →
Сергей М. © (2007-02-02 14:28) [12]
> Потоки лучьше отлаживать логом.
>
Отлаживать лучше отладчиком.
А логом отлаживают лузеры)
← →
Аноним (2007-02-03 00:50) [13]
> Сергей М. ©
К сожалению, IDE ощутимо глючит при отладке отладчиком в случае ,если брек-поинты срабатывали в более чем одном потоке.
поэтомму из лучше вообще не отлаживать )))
← →
Германн © (2007-02-03 01:47) [14]
> Аноним (03.02.07 00:50) [13]
>
>
> > Сергей М. ©
>
>
> К сожалению, IDE ощутимо глючит при отладке отладчиком в
> случае ,если брек-поинты срабатывали в более чем одном потоке.
>
>
> поэтомму из лучше вообще не отлаживать )))
Докажи сие удтверждение реальным примером! Тогда можно будет отделять "мух от котлет" и тогда можно будет спорить по существу !
← →
Anatoly Podgoretsky © (2007-02-03 10:33) [15]> Германн (03.02.2007 01:47:14) [14]
А чего там утверждать, так и есть
...
...
BP
...
...
при отладке будешь несколько раз попадать в BP и курсор будет дергаться по разным точкам, в зависимости от того, какой поток будет получать управление при следующим шаге.
← →
Аноним (2007-02-03 15:01) [16]
> Докажи сие удтверждение реальным примером! Тогда можно будет
> отделять "мух от котлет" и тогда можно будет спорить по
> существу !
Если я докажу релаьным примером, то есть приведу код, и опишу последовательность действий, приводящих к глюку со стопроцентной воспроизводимостью, спорить будет особо не о чем, потому что я буду просто прав и все.
Но я такой пример не приведу, ибо косяки там "плавающие" ,и зафиксировать их не так просто.
То есть спорить опять не о чем, потому что такой спор сводится к:
"глючит"
"ты врешь, не глючит"
"нет, это ты врешь, глючит"
"нет, ты врешь"
Ну и зачем такой спор нужен? Какая истина родится в нем?
← →
Kolan © (2007-02-03 17:28) [17]«Отлаживать лучше отладчиком.»
Сразу видно что не часто ты отлаживал потоки отладчиком. Виснет так что ППЦ. Питер(кажется он) даже хитрый способ придумал для убивания среды…
Страницы: 1 вся ветка
Текущий архив: 2007.03.25;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.043 c