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

TThread как правильно запускать???? help!!!   Найти похожие ветки 

← →
angel2000   (2003-10-23 19:45) [0]

Быть может повторюсь, но
вопрос для меня остался открытым - как мне
сделать так чтобы при кнопке старт у меня в TThread
запускался Execute а при нажатии другой кнопки останавливался????


← →
Palladin ©   (2003-10-23 19:53) [1]

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


← →
angel2000   (2003-10-23 19:55) [2]

в справку я уже смотрел - просто хотел все-таки более конкретно спросить


← →
Palladin ©   (2003-10-23 20:14) [3]

Ну и что ты там высмотрел, расскажи нам.


← →
panov ©   (2003-10-23 20:25) [4]

см. методы suspend и resume


← →
angel2000   (2003-10-23 20:31) [5]

по факту - есть какая то предположим переменная (булевая)
предположи м через кнопку старт мы присвоили ей true -
как мне это параметр передать в поток чтобы потом через
if можно было бы обрабатывать поток?


← →
Юрий Зотов ©   (2003-10-23 20:43) [6]

Вот пример схемы.

Создание:
FThread := TMyThread.Create(True);
FThread.FreeOnTerminate := True;

Запуск:
FThread.Resume;

Пауза:
FThread.Suspend;

Остановка:
with FThread do
begin
Terminate;
if Suspended then Resume
end;

Процедура потока:
procedure TMyThread.Execute;
begin
while not Terminated do
begin
...
end
end;

Если в Execute не требуется цикл, то в нем надо просто периодически проверять Terminated:
if Terminated then Exit;
Обычно такую проверку ставят между логически законченными операциями, в тех местах где поток можно безболезненно прервать.


← →
zapped   (2003-10-23 20:47) [7]

2 [5]
по факту ;)) - перекрыть конструктор TThread своим и передавать какие угодно параметры :)), например, указатель на переменную, значение которой можно менять вне потока. Это в общем случае.
Также можно в потоке проверять (думается... раз булевая) значение глобальной переменной, или же добавить свойство к своему потоку, значение которого (свойства) можно менять в другом месте программы...



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

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



Память: 0.46 MB
Время: 0.013 c
1-8521
}{enon
2003-10-19 17:16
2003.11.03
Данные OleContainer


14-8621
Мазут Береговой
2003-10-14 06:43
2003.11.03
Windows XP и MTS


14-8625
Омлет
2003-10-14 21:39
2003.11.03
Верхушка потрепаться


9-8249
MeF88
2003-04-03 11:19
2003.11.03
GLScene+OpenGL


14-8627
Skier
2003-10-15 10:16
2003.11.03
Cловарь английский акронимов.




   Наверх