Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Вниз

Поток : перехват завершения.   Найти похожие ветки 

 
SbtON   (2005-01-15 17:43) [0]

Всем привет!
Подскажите, пожалуйста, как мне в потоке отработать событие завершения. Вызов Terminate происходит из основного приложения,
но в потоке есть бесконечный цикл, включающий работу с файлами и т.д. (цикл достаточно длинный)
Хотелось бы уметь моментально останавливать процесс и корректно закрывать открытые файлы.

Если не трудно, подскажите.. Уже намаялся..


 
begin...end ©   (2005-01-15 17:45) [1]

> SbtON   (15.01.05 17:43)

> как мне в потоке отработать событие завершения

Создать обработчик TThread.OnTerminate?


 
SbtON   (2005-01-15 17:52) [2]

Я правильно понял, что этот обработчик ставится в теле потока?

У меня несколько идентичных потоков, запущеных с разными параметрами.. Это завершение нужно для каждого параметра.

И еще я заметил, что потоки достаточно долго останавливаются. Цикл внутри них успевает выполниться, несмотря на то, что terminate уже объявлен!


 
begin...end ©   (2005-01-15 20:06) [3]

> [2] SbtON   (15.01.05 17:52)

> Я правильно понял, что этот обработчик ставится в теле потока?

Перед запуском потока присвойте его свойству OnTerminate какой-нибудь метод, например:

MyThread.OnTerminate := MyThreadTerminate;

где MyThreadTerminate - метод какого-нибудь объекта.



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

Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.036 c
8-1095095132
maxistent
2004-09-13 21:05
2005.01.30
Сравнивание TBitMap


1-1105965427
pasha_golub
2005-01-17 15:37
2005.01.30
Принцип работы TDataset.Locate


14-1105700748
Andryk
2005-01-14 14:05
2005.01.30
Стишок про новый год, грустный. :(


1-1105953088
koshak
2005-01-17 12:11
2005.01.30
Что-то вроде InnoSetup


1-1106041657
hgd
2005-01-18 12:47
2005.01.30
Ошибка на CoInitialize;





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский