Вниз
Скачать: 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.014 c
1-8388
Chaynik
2003-10-21 07:34
2003.11.03
Вопрос о массиве.


3-8327
bav
2003-10-12 12:41
2003.11.03
Как правильно сделать Связь таблиц в Apollo ?


4-8708
hfa
2003-08-29 17:47
2003.11.03
Как узнать s/n принадлежащий винту..


14-8587
vgm-3000
2003-10-15 03:54
2003.11.03
Что лучше VB или Delphi?


1-8366
The X
2003-10-22 04:51
2003.11.03
Нужно перевести текст консольного приложения в




   Наверх