Вниз
Скачать: CL | DM;

Самоубийство Thread   Найти похожие ветки 

 
DeScriptor ©   (2003-12-25 17:03) [0]

Всем доброе время суток!

Есть у меня такая закавыка: прога по нажатию юзверем кнопочки запускает поток, в котором выполняется n-ое количество операций в процедуре Execute.
Что происходит потом? Поток самоуничтожается? Если нет, то как его уничтожить? Я не знаю, сколько времени он будет длиться, соответственно, не могу, наверное, написать следующее:
...
MyThread.Execute;
MyThread.Destroy;
...

Можно ли его убить "изнутри", т.е. последней строкой в Execute? (Вряд ли).

И еще одно: странная вещь творится: поток не хочет уничтожаться до того, как завершится естественным образом! Есть кнопа, нажатие которой, по идее, должно убить поток на месте:
...
MyThread.Suspend;
MyThread.Destroy;
...

Я пытался писать также MyThread.Terminate;, но эффект тот же. В чем я ошибаюсь?

Заранее ОГРОМНЫЙ респект!


 
Тимохов ©   (2003-12-25 17:05) [1]

Напиши
t := tthread.create(true);
t.freeonterminate := true;
t.resume.


 
Digitman ©   (2003-12-25 17:10) [2]


> странная вещь творится


> не хочет


> по идее, должно


> Что происходит


и т.д. и т.п.

простая? сама собой напрашивающаяся мысль у тебя не возникала - взглянуть в исх.текст класса TThread ?


 
Тимохов ©   (2003-12-25 17:14) [3]

Ну или документацию по этому классу почитать?



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
14-25530
Floppy
2003-12-19 14:32
2004.01.09
Delphi 5.0 на Win2k


3-25251
x_x_x
2003-12-10 12:42
2004.01.09
TAdoCommand и параметры


3-25194
AndrewK
2003-12-12 02:25
2004.01.09
Отображение древовидной структуры непосредственно в DBGrid


1-25360
baataars
2003-12-23 13:20
2004.01.09
TImage - распечатать


3-25209
www
2003-12-11 14:50
2004.01.09
Date и int




   Наверх