Вверх ↑
Разработчик
Ответов: 26305
Рейтинг: 2146
#1: 2010-06-12 16:14:59 ЛС | профиль | цитата
Dilma писал(а):
Таймер работает на основе очереди сообщений Windows и его событие эквивалентно приходу, скажем, событий от мыши. Это значит, что пока основная программа не отработает, никакое событие Windows произойти не может

Это правильно только для основного нашего таймера, если событие снимается по WM_TIMER в обработчике, но совершенно не влияет на созданный асинхронный таймер, у которого может быть два события -- по WM_TIMER и по вызову CallBack функции, так, к примеру, работает MMTimer, но все асинхронные таймеры работают в параллельных системных потоках, что накладывает соотвествующие ограничения на синхронизацию очередей разных событий.

Кстати, если после основного таймера тоже поставить цикл, и он сработает, то вся текущая очередь оконных событий притормозится и будет наблюдаться невозможность управления окном до момента окончания цикла, те,
Dilma писал(а):
форма будет выглядеть "зависшей"

карма: 22

0