Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


nali ©   (2007-05-08 16:14:00) 

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

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

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


sniknik   (2007-05-09 11:53:00) [1]

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


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


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


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


MBo   (2007-05-08 17:03:00) [3]

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


Loginov Dmitry   (2007-05-08 16:24:00) [4]

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


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


Наверх

Титульная страница Поиск, карта сайта Написать письмо