(MFCO42UD.DLL): 0xC0000005: Access Violation.
-
ich habe einen fertigen MFC projekt bekommen und möchte ein paar änderungen und erweiterungen machen und den code debuggen. aber beim debugen bekomme ich folgende fehlermeldung:
(MFCO42UD.DLL): 0xC0000005: Access Violation obwohl die dll vorhanden ist.ich habe visual c++ 6 mit service pack 5 und habe alle MFC optionen installiert.
weiss jemand was da schief läuft ?
danke im voraus
toz
-
Ich tippe auf einen nicht initialisierten Pointer irgendwo in deinem Programm:
/*1*/myClass* myObject; //zeigt ins Daten-Nirvana /*2*/myObject->do_something(); //interpretiert irgendwelche Daten als myClass-Objekt
irgendwo zwischen diese beiden Zeilen gehört noch ein "myObject=...;".
PS: Wenn du von dieser Fehlermeldung aus in den Debugger schaltest, müsstest du eigentlich an Zeile 2 ankommen.
-
CFrameWnd* CDocTemplate::CreateNewFrame(CDocument* pDoc, CFrameWnd* pOther) { if (pDoc != NULL) ASSERT_VALID(pDoc); // create a frame wired to the specified document ASSERT(m_nIDResource != 0); // must have a resource ID to load from CCreateContext context; context.m_pCurrentFrame = pOther; context.m_pCurrentDoc = pDoc; context.m_pNewViewClass = m_pViewClass; context.m_pNewDocTemplate = this; if (m_pFrameClass == NULL) { TRACE0("Error: you must override CDocTemplate::CreateNewFrame.\n"); ASSERT(FALSE); return NULL; } CFrameWnd* pFrame = (CFrameWnd*)m_pFrameClass->CreateObject(); if (pFrame == NULL) { TRACE1("Warning: Dynamic create of frame %hs failed.\n", m_pFrameClass->m_lpszClassName); return NULL; } ASSERT_KINDOF(CFrameWnd, pFrame); if (context.m_pNewViewClass == NULL) TRACE0("Warning: creating frame with no default view.\n"); // create new from resource [b]//hier wurde die exception ausgelöst beim aufruf von LoadFrame()[/b] if (!pFrame->LoadFrame(m_nIDResource, WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, // default frame styles NULL, &context)) { TRACE0("Warning: CDocTemplate couldn't create a frame.\n"); // frame will be deleted in PostNcDestroy cleanup return NULL; } // it worked ! return pFrame; }
pFrame ist ungleich null.
das einzige was = null ist der variable context.m_pCurrentFrame bzw. pOther(der parameter von der funktion CreateNewFrame)