Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c