Форум: "Потрепаться";
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];
ВнизНе срабатывает таймер!!! Найти похожие ветки
← →
Елена (2002-02-08 12:48) [0]Процедура:
Включается таймер (интервал 1 сек), затем выполняется определенная работа (несколько секунд), выключается таймер, а OnTimer ни разу не генерируется :(((
Почему???
З.Ы. Вставила даже Application.ProcessMessages - не помогает :(
← →
Digitman (2002-02-08 12:54) [1]Приведи фрагмент кода, где вызываются методы/св-ва объекта-таймера
← →
Андрей Сенченко (2002-02-08 12:55) [2]Потому что приложение занято выполнением "определенной работы", прописанной Тобой в событии OnTimer.
← →
Елена (2002-02-08 13:01) [3]OnTimer не вызывается!
← →
Юрий Федоров (2002-02-08 13:04) [4]Если нужно замерить время выполнения, лучше использовать
GetTickCount
← →
Бурундук (2002-02-08 13:05) [5]Насколько часто ты вызываешь Application.ProcessMessages?
← →
Андрей Сенченко (2002-02-08 13:05) [6]А вот тут неправда ваша. Посмотри свое первое сообщение:
>> ... Включается таймер (интервал 1 сек), затем выполняется
>> определенная работа (несколько секунд), ....
То есть миниму один раз вызывается. А вот что дальше ?
← →
Елена (2002-02-08 13:11) [7]Андрей Сенченко:
Timer1.Enabled:=True
... (работа с TMemoryStream и проч.)
Timer1.Enabled:=False
А OnTimer не вызывается, хотя должен был сработать несколько раз!
← →
Юрий Федоров (2002-02-08 13:18) [8]А вообще Application.ProcessMessages подразумевает обработку
WM_TIMER ???
По моему, нет
← →
Андрей Сенченко (2002-02-08 13:19) [9]Ну вот ... ну мы уже почти у цели. ВОт это вот:
>> ... (работа с TMemoryStream и проч.)
как выглядит ? Ну ведь Ты же пойми, что именно там и содержится причина.
← →
Бурундук (2002-02-08 13:30) [10]Application.ProcessMessages подразумевает обрабутку всех
сообщений, которые находятся в очереди.
Но его нужно вызывать достаточно часто - и всё будет ок.
Или делать работу в отдельном потоке, если такой возможности нет.
← →
Елена (2002-02-08 13:36) [11]Получается таймер замирает? А если в OnTimer вставить Application.ProcessMessages - это будет правильно?
← →
Digitman (2002-02-08 14:03) [12]
Timer1.Enabled:=True
начало_цикла
... некое действие (чем короче по времени выполнения, тем лучше)
Application.ProcessMessages; !!!!!!!!!!!!!!
конец_цикла
Timer1.Enabled:=False
← →
Елена (2002-02-11 07:34) [13]Digitman, спасибо!
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c