debug assertion failed
-
hallo ich bekomme bei diesem codeabschnitt in microsoft visual c++ einen "debug assertion failed" fehler.
CTest_MFCDlg dlg; m_pMainWnd = &dlg; NT_PTR nResponse = dlg.DoModal(); <-hier kommt der fehler
hat einer eine ahnung?
gruss stefan
-
Und wo kommt der ASSERT! Der sagt nämlich einiges aus über den Fehler, den Du gemacht hast.
Zudem wäre es nützlich zu wissen was der Call-Stack sagt, bzw. wo es detailiert bei welchem Aufruf kracht.
-
hallo,
also der fehler tritt in der datei dlgdata.cpp an der markierten stelle auf. das zeigt auch der call-stack an.
[cpp]
HWND CDataExchange::PrepareCtrl(int nIDC)
{
ASSERT(nIDC != 0);
ASSERT(nIDC != -1); // not allowed
HWND hWndCtrl;
COleControlSite* pSite = NULL;
m_pDlgWnd->GetDlgItem(nIDC, &hWndCtrl);
if (hWndCtrl == NULL)
{
// Could be a windowless OCX
pSite = m_pDlgWnd->GetOleControlSite(nIDC);
if (pSite == NULL)
{
TRACE(traceAppMsg, 0, "Error: no data exchange control with ID 0x%04X.\n", nIDC);
ASSERT(FALSE);
AfxThrowNotSupportedException();
}
}
m_idLastControl = nIDC;
m_bEditLastControl = FALSE; // not an edit item by defaultreturn hWndCtrl;
}
[/cpp]gruss stefan
-
Du hast ein Control definiert in der DoDataExchange Funktion mit einer ID das in der Ressource nicht existiert.
-
Bzw. anders formuliert, wie es oft passiert:
Du hast ein Control gelöscht aber nicht die Membervariable(n) dazu.
-
ja das wars danke!