Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.03;
Скачать: 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 вся ветка

Текущий архив: 2003.11.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
14-8665
Нурик
2003-10-14 02:40
2003.11.03
Заполнение анкеты


7-8698
Артемка
2003-08-15 15:30
2003.11.03
программирование ЦАП. Регистры


9-8248
Shurik
2003-04-28 04:45
2003.11.03
Вопрос по TDXInput и DLL


1-8485
demon88
2003-10-24 00:14
2003.11.03
Файлы!


3-8264
Yrtimd
2003-10-15 04:35
2003.11.03
Как узнать тип сервера БД?