Вверх ↑
Разработчик
Ответов: 26164
Рейтинг: 2127
#1: 2016-07-03 12:33:57 ЛС | профиль | цитата
ogrif писал(а):
Хотелось просто узнать почему так?

Тут все очень просто -- MMTimer использует системный таймер, для которого система использует специальный выделенный поток, те он асинхронный, а обычный же таймер использует очередь сообщений главного окна приложения, те он синхронный, отчего и происходит рассинхронизация обычного таймера. Те события обычного таймера гарантированно произойдет только тогда, когда система посчитает нужным отдать управление обработчику главного окна приложения, что не относится к MMTimer-у, события которого происходят гарантированно под управлением системы, но это и его недостаток -- MMTimer нельзя использовать с интерфейсными элементами, точно так же, как и обычные потоки по причине их асинхронности.
карма: 22

0