Простой поиск DoEvents
приводит к большому количеству результатов, которые приводят, в основном, к:
DoEvents
- зло. Не используйте его. Вместо этого используйте threading.
Причины, как правило, приводятся ниже:
- Проблемы с возвратом
- Плохая производительность
- Проблемы с удобством использования (например, перетаскивание по отключенному окну)
Но некоторые известные функции Win32, такие как TrackPopupMenu
и DoDragDrop
, выполняют собственную обработку сообщений, чтобы поддерживать пользовательский интерфейс, как это делает DoEvents
.
И все же, ни один из них, похоже, не сталкивается с этими проблемами (производительность, повторное включение и т.д.).
Как они это делают? Как избежать проблем, связанных с DoEvents
? (Или они?)