Войти

Показать полную графическую версию : Работа С Потоками


LilLoco
02-06-2010, 11:13
Здравствуйте...Меня интересует вот такой вопрос: Есть 2 потока... Первый запускается после клика на кнопочке, а второй должен запуститься сразу после ЗАВЕРШЕНИя первого! WaitFor - не устраивает так как он полностью блокирует форму(во время работы потока может понадобится работа с формой)! объясните пожалуйста как сделать, если можно с примерчиком :)

lxa85
02-06-2010, 12:27
LilLoco, тебе как срочно?
У нас лаба была по мультипотокам, но она в архиве. До него надо бы добраться, но когда у меня будет "окно" я не знаю. Попробую в ближайшее время (условно неделя).

LilLoco
02-06-2010, 13:09
lxa85, Подожду конечно, заранее спасибо ;)

ganselo
02-06-2010, 13:22
А если создать 3 поток в котором будет находится WaitFor и после его завершения в этом же потоке вызовется нужный?

BlackEric
02-06-2010, 18:55
LilLoco,
1. из потока при завершении запускайте следующий
2. Из основного потока по таймеру проверяем не завершился ли поток и стартуем стлудеющий

LilLoco
02-06-2010, 20:07
Всем Спасибо За Советы, буду завтра пробовать :)

zonderz
02-06-2010, 20:19
LilLoco,

неужель не догадались сами? логика:
самый простой пример

var b: boolean;

procedure Form.OnCreate;
begin
Timer.Interval:= 100;
Timer1.enabled:= true;
b:= false;
end;

procedure ButtonClick;
begin
Thread1.Create;
end;


procedure Timer.OnTimer;
begin
if b = True then
begin
Thread2.Create;
Timer1.enabled:= false;
end;
end;


procedure Thread1;
begin
...
...
...
...
b:= true;
end;

procedure Thread2;
begin
...
...
b:= false
end;



надеючь у вас Delphi World скачан..?

LilLoco
02-06-2010, 22:12
Спасибо за пример ;)

надеючь у вас Delphi World скачан..? »
Скачан, но как то подзабыл посмотреть в нем :sorry:




© OSzone.net 2001-2012