Главная страница
    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.44 MB
Время: 0.039 c
6-1100163904
Klopan
2004-11-11 12:05
2005.01.30
TidHostNameServer


14-1105403008
Поручик
2005-01-11 03:23
2005.01.30
Как пить?


1-1105762626
werewolfru
2005-01-15 07:17
2005.01.30
Скрипт для online редактирования статей


3-1104155962
Артемиус
2004-12-27 16:59
2005.01.30
Как определить количество и имена таблиц в базе?


1-1105696520
thvfrjd
2005-01-14 12:55
2005.01.30
Работа с Excel с помощью ExcelApplication





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский