по мотивам MSDN https://msdn.microsoft.com/en-us/library/windows/desktop/ms682485(v=vs.85).aspx
получился достаточно точный таймер (можно выставить интервал 1-2 миллисекунды)
Есть однако загвоздка.
(При AutoStop › 0) при старте или первой итерации промахивается на OnTimer.
У кого есть бажные схемы с мультимедийным таймером можно попробовать этот потестировать.
прикрепил вложение http://forum.hiasm.com/getfile/38497
Редактировалось 1 раз(а), последний 2018-10-28 15:55:29
Этот топик читают: Гость
Ответов: 5227
Рейтинг: 587
|
|||
карма: 4 |
|
Ответов: 233
Рейтинг: 12
|
|||
MMTimer по точности вроде такой же... или есть ограничения его использования (MMTimer)?
|
|||
карма: 2 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Iliya писал(а): MMTimer по точности вроде такой же... или есть ограничения его использования (MMTimer)?Есть. Он выполняется не в главном потоке приложения, а в системном потоке, который асинхронен главному. Те его события безусловны и имеют более высокий приоритет, чем события главного потока, что может привести к крэшу приложения, особенно в интерфейсной части. Те на него распространяется все условности, которые распространяются на параллельный поток. --- Добавлено в 2018-10-28 17:46:47 andrestudio писал(а): получился достаточно точный таймерОн будет достаточно точным только тогда, когда функция обратного вызова будет работать вне синхронизации с главным потоком, те в асинхронном режиме. А в асинхронном режиме на него будут накладываться все условности параллельного потока, те его нельзя будет использовать в интерфейсной части. Редактировалось 2 раз(а), последний 2018-10-28 17:48:44 |
|||
карма: 22 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Всё, багу поправил(перезалил). Ведёт себя предсказуемо, fpc and d4
кому нужен пользуйтесь на здоровье. |
|||
карма: 4 |
| ||
файлы: 1 | QTimer.zip [2.8KB] [468] |
4