Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.25;
Скачать: CL | DM;

Вниз

Не срабатывает таймер!!!   Найти похожие ветки 

 
Елена   (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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
1-80473
kingdom
2002-03-12 13:03
2002.03.25
Почему MessageDlg при вызове из потока падает и как с эти бороться?


7-80704
max38
2001-09-21 20:20
2002.03.25
как потстыковать *.exe файл в создоваемое приложение?


1-80621
dimonf
2002-03-11 21:07
2002.03.25
Господа, подскажите, как можно добавлять строки в StringGrid в цикле не зная заранее, сколько у меня, будет записей?


1-80548
Spose
2002-03-09 20:11
2002.03.25
Нужна помощь!


3-80444
Esipenko
2002-02-25 12:41
2002.03.25
описание halcyon