Главная страница
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.04 c
1-1079021304
opoloxai
2004-03-11 19:08
2004.04.04
Типизированный поток.


4-1075209199
graY
2004-01-27 16:13
2004.04.04
Как определить хэндл любого компонента(findWindow не находит)


3-1078721816
Артем
2004-03-08 07:56
2004.04.04
БД: HTML и WWW


14-1078675449
TButton
2004-03-07 19:04
2004.04.04
вот про Матрицу вопрос есть


6-1075230412
WM
2004-01-27 22:06
2004.04.04
Как загрузить History в TSringList?