![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
Смотрите здесь http://www.programmersforum.ru/showthread.php?t=12132
Я даже делал программу для сравнения различных таймеров http://www.programmersforum.ru/attac...9&d=1199691941 |
![]() |
![]() |
![]() |
#12 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Спасибо за пример. А в чем измеряется время в мультимедийном таймере, почему он убегает вперед?
|
![]() |
![]() |
![]() |
#13 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
Он-то как раз и не убегает вперед, это другие тормозят. Проверьте по часам.
|
![]() |
![]() |
![]() |
#14 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
А почему? Метод делфи, я так понимаю, пользуется системным, поэтому они рядышком, а системный наверное ведет отсчет времени от КОНЦА предидущей остановки, а надо от НАЧАЛА. Поэтому работа по обработке события тармозит отчет времени. Это получается последовательное выполнение процедуры, а в мультимедийном таймере процедура может начать выполнятся не дождавшись завершения предидущего запуска. Но тогда сразу возникает вопрос, а что случится, если я к мультимедийному событию времени прикручу навороченную процедуру а время задержки меджу вызовами назначу маленькое. У меня тогда комп зависнит что-ли.
Правильно я понимаю, или нет? |
![]() |
![]() |
![]() |
#15 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
Выдержки из темы http://www.programmersforum.ru/showthread.php?t=12132
Системный таймер: Если обработчик таймера не успевает закончить все действия в установленный интервал, то последующие вызовы этого обработчика становятся в очередь. Это приводит к тому, что на разных компьютерах приложение работает с разной скоростью. Сама же CallBack функция вызывается в контексте основного потока. Мультимедийный таймер: Если обработчик таймера не успевает закончить все действия в установленный интервал, то последующие вызовы накапливаться не будут. Сама же CallBack функция вызывается в контексте отдельного потока. Если обработчик таймера не успевает закончить все действия в установленный интервал, то, скорее всего, следующий вызов обработчика в мультимедийном таймере просто не будет выполнен, а в системном - встанет в очередь. Хотя в этом уверенности нет, нужно тестировать или читать тех. описание. |
![]() |
![]() |
![]() |
#16 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
<уже ответили>
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#17 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#18 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
Значит предположение верное. Мультимедийный таймер, в основном, используется в различных проигрывателях. Если при показе фильма некоторые кадры будут пропущены, то это не скажется на общем восприятии и не будет тормозов.
|
![]() |
![]() |
![]() |
#19 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]()
Допустим у меня три процедуры:
procedure proc1; begin showMessage('Start of PROC1'); // Здесь должно быть чтото вроде того, что я хочу... showMessage('End of PROC1'); end; procedure proc2; begin showMessage('Start of PROC2'); // Здесь должно быть чтото вроде того, что я хочу... showMessage('End of PROC2'); end; procedure tMain_form.button1Click(sender: tObject); begin pror1; proc2; end; Мне нужно, чтоб вначали было "Start of PROC1", потом "Start of PROC2", затем "End of PROC1" и "End of PROC2"... ![]() |
![]() |
![]() |
![]() |
#20 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
В разные потоки их и дело с концом. При чем тут таймер?
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Timer... | Teleport | Общие вопросы Delphi | 13 | 14.09.2011 17:02 |
timer | ZYRGiX | Помощь студентам | 3 | 21.07.2008 15:15 |
Timer... | Roof | Общие вопросы Delphi | 11 | 11.10.2007 12:57 |
Timer | PAVEL315 | Компоненты Delphi | 16 | 20.12.2006 19:47 |
timer | Toxa | Компоненты Delphi | 6 | 06.12.2006 06:58 |