Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Процессы и потоки   Найти похожие ветки 

 
sav   (2004-03-18 09:54) [0]

Как завершить дополнительный поток наполнения компонента "Дерево"


 
Digitman ©   (2004-03-18 10:01) [1]

точно так же как и завершить поток наполнения компонента "Кустарник")

при чем здесь "Дерево" или "не Дерево" ?

алгоритм твоей поточой ф-ции, делай она хоть "Дерево" хоть "Кустарник", должен тем или иным образом предусматривать периодическую/эпизодическую проверку некоего "флага", предписывающего поточной ф-ции как можно быстрей завершить работу предусмотренного ей алгоритма и вернуть управление

"флаг" должен взводиться тем код.потоком, который заинтересован в завершении интересующего тебя код.потока


 
sav   (2004-03-18 10:12) [2]

Я завершаю процесс при помощи Terminate
Однако при закрытии формы выпадает ошибка Процесс не завершен


 
Digitman ©   (2004-03-18 10:20) [3]


> Я завершаю процесс при помощи Terminate


да не процесс ты завершаешь, а как раз взводишь тот самый флаг

кодовый же поток волен реагировать или не реагировать на состояние этого флага ... у тебя. очевидно реакция эта не предусмотрена, оттого и проблемы

procedure TMyThread.Execute;
begin
 while not Terminated do // вот она, проверка состояния флага !!
 begin
   //здесь делаешь что-то, желательно не слишком длительное по времени, чтобы как можно чаще проверять состояние флага
 end;
end;


 
sav   (2004-03-18 11:19) [4]

Как раз выполняется очень длительное по времени
Есть ли какая нибудь процедурка остановки?


 
Digitman ©   (2004-03-18 11:31) [5]


> Как раз выполняется очень длительное по времени


алгоритм циклический там ? если нет - переделывай в циклический, так чтобы при каждой итерации проверять флаг и немедленно завершать цикл как положено

все остальные программные решения - через "причинное место" и приведут тебя к печальным последствиям


 
sav   (2004-03-18 12:10) [6]

Спасибо за совет!



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

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.051 c
1-1079543702
Kupnu4
2004-03-17 20:15
2004.04.04
Помогите создать объект


14-1078850059
satron
2004-03-09 19:34
2004.04.04
Где скачать компонент ?


3-1078902460
HeoGtan
2004-03-10 10:07
2004.04.04
PARADOX - через АДО


1-1079527534
Inimeg
2004-03-17 15:45
2004.04.04
EIBInterBaseError - что это такое


8-1069858197
vfrc
2003-11-26 17:49
2004.04.04
работа со звуковыми частотами