Могу ли я запретить IVideoWindow :: put_Visible публиковать сообщения? - PullRequest
0 голосов
/ 09 марта 2010

Когда вызывается функция IVideoWindow :: put_Visible (), она извлекает сообщение из очереди сообщений и отправляет его. Это полностью портит последовательность вызовов.

Я исправил несколько сбоев, вызванных этим, в зависимости от случая. То есть установить флаг перед вызовом put_Visible () и затем очистить флаг. А в обработчике событий сначала проверьте флаг, если он установлен, поместите событие обратно в очередь сообщений и выйдите из обработчика событий (т.е. отложите обработку до возврата put_Visible (). Проблема в том, что моя база кода слишком велика и этот метод не выдерживает.

Есть ли способ просто изменить поведение put_Visible (), чтобы он не мешал очереди сообщений и диспетчеризации?

1 Ответ

0 голосов
/ 12 марта 2010

В конце концов я получаю идею, но не проверил ее. Это для вызова метода put_Visible () во втором новом потоке. Поскольку в Win32 разделенные потоки имеют отдельные очереди сообщений, put_Visible () вряд ли испортит основную очередь сообщений.

...