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

Вниз

Освобождение ресурсов потока   Найти похожие ветки 

 
nali   (2007-05-08 16:14) [0]

У меня еще вопрос появился: можно ли обращатся к полям потока после вызова Suspend ? Следующий код будет работать если его вызывать из основного потока ?

type
TThread1=calss(TThread)
...
public
 MS:TMemoryStream;
end;

// этот код вызывается в основном потоке
Thread1.Suspend;
if Thread1.MS<>nil then
   Thread1.MS.Free;
TerminateThread(Thread1.Handle,0);


 
Loginov Dmitry ©   (2007-05-08 16:24) [1]

> У меня еще вопрос появился: можно ли обращатся к полям потока
> после вызова Suspend


А почему же нельзя?


 
MBo ©   (2007-05-08 17:03) [2]

зачем смешивать VCL-ные методы работы с потоками и грубый API-шный метод TerminateThread?
зачем уничтожать поле класса снаружи, если это можно сделать в деструкторе потока?


 
nali   (2007-05-09 07:00) [3]


> зачем смешивать VCL-ные методы работы с потоками и грубый
> API-шный метод TerminateThread?


а что делать если в потоке зависает какая-то функция?


 
sniknik ©   (2007-05-09 11:53) [4]

> а что делать если в потоке зависает какая-то функция?
надо исправить ошибку по причине которой она зависает...



Страницы: 1 вся ветка

Текущий архив: 2007.07.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
5-1155637901
NiGGa
2006-08-15 14:31
2007.07.08
Двойной грид.


3-1176204080
Lavrenty
2007-04-10 15:21
2007.07.08
IBase и ClientDataSet


4-1170255120
tytus
2007-01-31 17:52
2007.07.08
Как получить доступ к контролам другого окна?


3-1175946319
boristt
2007-04-07 15:45
2007.07.08
Перехват ошибки от MSSQL Express 2005 (dbExpress)


15-1180951393
rolex
2007-06-04 14:03
2007.07.08
ошибка tcp