| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > AllocateHWND+WM_QUERYENDSESSION |
| Автор: MetalFan 15.3.2008, 23:45 | ||
| Столкнулся недавно с такой особенностью работы c AllocateHWND. время от времени всплывают у людей проблемы с завершением работы ОС (программа не дает завершить работу ОС). в основном грешат на сторонние компоненты. но, как оказалось, проблема может быть и в следующем: если в реализации процедуры TWndMethod, которая будет использоваться в кач.аргумента AllocateHWND, не предусмотреть обработку WM_QUERYENDSESSION, то собственно и может возникнуть такая проблема. в обработчике следует предусмотреть такой момент:
|
| Автор: Alexeis 16.3.2008, 14:04 |
| MetalFan, получается что Windows ждет разрешения завершения у всех окон и дефолтный обработчик не возвращает сам единицу? Добавлено через 1 минуту и 1 секунду Кстати если написать простое окошко на API и не заморачиваться с WM_QUERYENDSESSION разве это помешает завершению работы приложения? |
| Автор: Rrader 16.3.2008, 14:15 | ||
| Согласен с Alexeis MetalFan,
А ведь он тоже через AllocateHWnd работает... |
| Автор: MetalFan 16.3.2008, 14:35 | ||
ну да, или так. DefWindowProc видимо правильно обрабатывает WM_QUERYENDSESSION |