Hi,
ich habe ein "normales" MFC-Programm, ohne COM o.ä.
Bei Programmende verschwindet das Programmfenster, das Programm verbleibt im Taskmanager,
ein Break im Debugger führt zu AfxInternalPumpMessage/GetMessage.
Ich habe mal den Weg in CMainFrame::OnClose verfolgt. Es wird normal
PostQuitMessage über CWnd::OnNcDestroy meines Mainframes aufgerufen.
Dann habe ich folgendes eingebaut:
CMainFrame::OnClose()
{
__super::OnClose();
MSG msg;
ASSERT(PeekMessage(&msg, NULL, WM_QUIT, WM_QUIT, PM_NOREMOVE));
ASSERT(!::GetMessage(&msg, NULL, NULL, NULL));
}
Mein WM_QUIT ist wirklich vorhanden und GetMessage liefert FALSE.
Trotzdem bleibt mein Programm in der Message-Pumpe hängen.
Was könnte die Ursache sein?
Ich vermute mal, jemand isst mein WM_QUIT, aber wer und wie bekomme ich es heraus?
Tschüß, Holger.