Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.25;
Скачать: CL | DM;

Вниз

Ошибка на 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
1-81656
Calm
2003-08-12 08:48
2003.08.25
Как уведомить компоненты об уничтожении одной из них?


1-81808
Чайник
2003-08-11 22:19
2003.08.25
Flash и DELPHI


14-81894
Е-Моё имя
2003-08-05 13:15
2003.08.25
откуда прога запущена под DOS(!!!) ?


1-81750
zzet
2003-08-09 11:58
2003.08.25
RxGIFAnimator


4-81999
VD601
2003-06-23 22:59
2003.08.25
WM_SIZE - причина или следствие?