Debug Assertion Failed in CWnd::ShowWindow
-
Hallo zusammen.
Ich rufe in einer Methode einen Dialog wie folgt auf
if( m_dlgMy == NULL ) { m_dlgMy = new CMyDialog() m_dlgMy->Create(CMyDialog::IDD); } m_dlgMy->ShowWindow(nCmdShow);
Die ersten Male geht das gut. Allerdings erhalte ich nach mehrmaligem öffnen einen "Debug Assertion Failed in CWnd::ShowWindow"
ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL));
Was mache ich den falsch?
-
Dein Fenster ist bereits schon wieder zerstört. m_hWnd ist vermutlich NULL!
-
Hm. Wenn ich Debuge ist m_hWnd aber nicht NULL.
Wie löse ich denn das Problem? Keine Ahnung was ich falsch mache.
-
Dann ist das Fenster dennoch zerstört, denn scheinbar ist das Handle ja ungültig.
Der ASSERT prüft vor der Ausführung ob Dein Fenster Handle OK. Das ist es nicht... Was ist denn in m_hWnd drin für en Wert? Evtl. hast Du deinen Dialog mit delete schon wieder zerstört.