Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2012, 20:37   #1
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию Как экстренно завершить поток?

У меня есть программа, в ListView которой бросаются файлы, при нажатии кнопки Wipe ShowModal'ится форма frmView.
При Show формы View идет запуск потока Wipe типа TWipe таким способом:
Код:
   Wipe:=TWipe.Create(true);
   Wipe.FreeOnTerminate:=true;
   Wipe.Resume;
Дело в том, что я хочу на форме сделать кнопку отмены, которая будет экстренно завершать поток. Проверку Terminated в потоке ставить не хочу по двум причинам:
  • Это снизит скорость уничтожения данных
  • У меня из Execute вызывается процедура обработки файла, из которой в свою очередь будет вызыватся процедура уничтожения и вообщем придется много проверок делать

Слышал, что в Win API есть функция тира EmergencyTerminateThread, но как она точно называется и как ею пользоваться не знаю.

Так как экстренно завершить поток?

Последний раз редактировалось hon; 28.08.2012 в 20:38. Причина: Очепятку сделал
hon вне форума Ответить с цитированием
Старый 28.08.2012, 20:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ExitThread
TerminateThread
Я о других не слышал... Может это функция не для ring3
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.08.2012, 21:18   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

хм, однако любая динамически выделенная память(строки, динамические массивы, объекты) будет утеряна.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как завершить макрос Sanwin Microsoft Office Excel 2 22.04.2012 17:09
Задача на пересечения прямоугольников.желательно экстренно. Llein Паскаль, Turbo Pascal, PascalABC.NET 2 27.10.2011 19:21
Как правильно завершить поток cosmic_call Общие вопросы Delphi 2 13.02.2011 05:32
Как правильно завершить поток Des Общие вопросы Delphi 5 08.05.2009 20:56