Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
1-80486
d_oleg
2002-03-12 15:54
2002.03.25
Color memo


1-80588
Gayrus
2002-03-10 05:47
2002.03.25
Кодировка


1-80519
Rail
2002-03-13 07:28
2002.03.25
QReport ГЛЮЧИТ !!!


3-80414
Максимка
2002-02-13 18:41
2002.03.25
Access violation в DLL


1-80615
Reticent
2002-03-11 18:07
2002.03.25
Проблема с отображением русских букв





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский