Форум: "Основная";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
ВнизТаймер Найти похожие ветки
← →
Сережа (2004-01-20 21:38) [0]Я уже задавал этот вопрос, но меня не совсем поняли!
procedure TForm1.Button2Click(Sender: TObject);
begin
...
timer1.Enabled:=true;
x2:=60; Y2:=168;
....
timer1.Enabled:=true;
X2:=84; Y2:=280;
....
end;
Дело в том, что я хочу, чтобы на время работы таймера процедура останавилась, и продолжит свою работу только после выполнения таймера! т.е. в процедуре указываются координаты, а таймер обеспечивает медленное передвижение в эту точку, после чего задаются следующие координаты, вкл. таймер и так далее. Мне порекомендовали поставить процедуру Sleep(..) но она остонавливает все действия... таймер не работает. Пробовал поставить цикл:
timer1.Enabled:=true;
x2:=60; Y2:=168;
repeat
until(timer1.Enabled=false)
timer1.Enabled:=true;
X2:=84; Y2:=280;
но он тоже висит! что делать? Помогите, пожалуйста, начинающему! Или можно это сделать как-нибудь по-другому?
← →
Юрий Федоров (2004-01-20 21:51) [1]Таймер (если имеется в виду событие OnTimer) срабатывает только тогда, когда обработчики сообщений окна отработали, и окно может обрабатывать следующие сообщения из очереди.
То есть так не получится.
Реорганизуй схему вызовов :-)
← →
Palladin (2004-01-20 22:01) [2]в
repeat
until(timer1.Enabled=false)
вставь Application.ProcessMessages
← →
такой же циник как и все (2004-01-21 00:16) [3]А почему тебе обработчик твоих координат не вынести из Button.Click, написать отдельную процедуру, которая при запуске себя делает Timer1.Enabled:=false, потом твои расчеты, а потом Timer1.Enabled:=true, тогда и таймер будет вызывать эту же процедуру послен всех своих действий и все будет отлично
← →
REP (2004-01-21 08:55) [4]А зачем вообще таймер нужен, если действия программы должны быть остановлены? Смысл?
← →
Ozone (2004-01-21 09:17) [5]Используй потоки и процедуру WaitForSingleObject( т.е. тебе нужно синхронизовать работу таймера и потока).
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c