Главная страница
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.047 c
1-1079538178
neteditor_2000
2004-03-17 18:42
2004.04.04
TListBox.AddItem и его параметры


1-1079254528
Tarquin
2004-03-14 11:55
2004.04.04
Как проверить существование файла при его удалении.


7-1073914819
Sergant
2004-01-12 16:40
2004.04.04
Прямая работа с портами


3-1078474240
Laymer
2004-03-05 11:10
2004.04.04
И опять про Access


1-1079353222
PiratA
2004-03-15 15:20
2004.04.04
MDI children