Форум: "Основная";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];
ВнизОшибка на WaitFor Найти похожие ветки
← →
Man (2003-08-10 16:58) [0]Привет всем!Така проблема:на методе потока WaitFor валит ошибка - System Error Code 6. Handle is Invalid. На OnTerminate ничего не висит. Прибиваю так:
If MyThread<>Nil Then With MyThread Do
Try
If Suspended Then Resume;
Terminate;
WaitFor;
Free;
MyThread:=nil;
Except
End;
Заранее всем большое спасибо!
← →
Palladin (2003-08-10 19:15) [1]тоесть текст ошибки тебе ни о чем не сказал?
← →
Dred2k (2003-08-10 20:15) [2]Зачем так сложно прибивать?
Terminate;
if(not Suspended) then
WaitFor;
Free;
...
Или в Execute после (Terminated = True) что-то делаешь?
← →
panov (2003-08-10 21:23) [3]>Man ©
Либо в конструкторе использовать FreeOnTetminate := False,
Тогда вышеприведенный код будет работать, либо ограничиться MyThread.Terminate;
← →
Dred2k (2003-08-10 21:27) [4]> panov © (10.08.03 21:23)
MyThread.Terminate только флажок выставляет. На следующей строке - никакой гарантии завершения.
Ошибка, описанная автором мессаги, вообще наводит на мысль, что с ниткой работает кто-то еще, причем сам объект TThread не тронут, кем-то освобождается хендл нитки...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c