Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
11-2055
Danil
2003-05-13 00:02
2004.02.02
Как мне эмулировать табуляцию?


14-2348
Дмитрий В. Белькевич
2004-01-09 02:39
2004.02.02
Смерть Запада


1-2191
Сергей Петров
2004-01-21 06:24
2004.02.02
Как сделать кнопку произвольной формы?


14-2309
michael
2004-01-09 10:10
2004.02.02
Что за глюк комп переодически перезагружается самопроизвольно?


14-2353
Cerber
2004-01-09 08:10
2004.02.02
RTFM или тупые вопросы.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский