Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Вопрос по уничтожению потока


Автор: COOLHack 30.6.2009, 21:41
Вообщем ситуация такая, в приложении есть несколько потоков, и один из них открыл соединение для обращения к серверу. 

И в этот момент есть необходимость уничтожить тот самый поток.

Но если по нажатию кнопки для потока делать free , то сразу получаю ошибку access violation.


Как уничтожить поток, даже если он открыл сетевое подключение?. 
Поток нужно убивать незамедлительно, не дожидаясь пока он закончит выполнять код

Автор: V0LT 1.7.2009, 03:25
Сделайте мне вот это вот так вот что бы вот это вот так не выглядело ...
Напишите код который у вас не получается ... и вам помогут ... а телепаты - в бессрочном отпуске  smile 

Автор: kami 1.7.2009, 08:01
Цитата(COOLHack @  30.6.2009,  21:41 Найти цитируемый пост)
уничтожить поток, даже если он открыл сетевое подключение

С каких это пор сетевое соединение стало настолько приоритетнее других ресурсов?  Сие науке неизвестно.

Цитата(COOLHack @  30.6.2009,  21:41 Найти цитируемый пост)
то сразу получаю ошибку access violation.

Где? Код в студию.


Цитата(COOLHack @  30.6.2009,  21:41 Найти цитируемый пост)
Поток нужно убивать незамедлительно,

TerminateThread, только потом корректное уничтожение TThread и закрытие всех хендлов - твоя проблема.

Автор: Rennigth 1.7.2009, 08:26
Цитата(kami @  1.7.2009,  08:01 Найти цитируемый пост)
TerminateThread

жестоко... но автор сам просил  smile 

Автор: COOLHack 1.7.2009, 21:45
Код

TerminateThread(MyThread[Thread_s].Handle,0);


Но по прежнему access violation. 

А если сделаю так: 
Код

try
TerminateThread(MyThread[Thread_s].Handle,0);
except
end;

То прога не останавливается, но некоторые потоки даже после этого продолжают работать. 
(запросы делают только потоки которые я убиваю. При этом наблюдаю по фаерволу, запросы продолжают появлятся).

Автор: COOLHack 1.7.2009, 22:28
Ошибка была банальна, в Thread_s не то что нужны было. всё работает так как задумано, спасибо за ответы

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)