Debug Assertion

thhh

Grünschnabel
Hallo!
Ich habe eine SDI Anwendung und immer wenn ich ein Dokument öffne Kommt eine Fehlermeldung:
"Debug Assertion Failed!" :eek:
File: afxcoll.inl
Line: 189

Ich habe keine Ahnung wo ich da einen Fehler finden könnte
Wäre super wenn ihr mir Hinweise geben könntet was da falsch läuft.
Und vieleicht sogar wie man das Problem löst

Die Fehlermeldung kommt nach der Serialize Funktion bei
pFrame->InitialUpdateFrame(pDoc, bMakeVisible);"
in
void CDocTemplate::InitialUpdateFrame(CFrameWnd* pFrame, CDocument* pDoc,BOOL bMakeVisible)

noch genauer:
AfxCallWndProc(pWnd, pWnd->m_hWnd, message, wParam, lParam); )
in
void PASCAL CWnd::SendMessageToDescendants(HWND hWnd, UINT message,WPARAM wParam, LPARAM lParam, BOOL bDeep, BOOL bOnlyPerm)



Danke
Thomas
PS.: Falls ihr noch irgendwelche Informationen braucht poste ich sie gerne.
Ich weiß nur nicht was sonst noch wichtig sein könnte... :)
 
Es könnte sein, dass dein Fenster oder View noch nicht created ist. Ich hatte mal ein (möglicherweise) ähnliches Problem. Das hatte ich (wenn ich mich recht erinnere) dadurch gelöst, dass ich mit GetSafeHwnd() geprüpft habe, ob das Ding schon da ist. Hm, ich hoffe, du verstehst, was ich meine.
 
Hallo!
Ich werde mir das einmal anschauen, aber ich verstehe das Ganze nicht ganz, weil ich habe ja in dem ganzen Code nichts geändert (nur die Serialize Funktion)
Wie kommt es dass ich da so einen Fehler verursache?(ich gehe einmal davon aus dass es nicht ein "vorgefertigter" Fehler ist)

Danke!

Grüße Thomas
 
Zuletzt bearbeitet:
Hallo!
Ich habe mich jetzt eine zeit herumpropiert , aber ich habe das Problem leider nicht lösen können. :mad:
das Problem liegt bei der Serialisierung.
Ich habe in der Document Klasse (hier CTimerDoc) ein Objekt einer Klasse, die von CObArray abgeleitet ist als Public erstellt.

Diese Serialisiere ich in

void CTimerDoc::Serialize(CArchive& ar)

mit CObArray::Serialize(ar);
(Wenn ich das nicht mache tritt der oben genannte Fehler nicht auf...)

Kann da irgend etwas schief gehen oder mache ich da irgend etwas falsch.:(

Wäre sehr froh wenn mir jemand helfen könnte

Grüße Thomas
 

Neue Beiträge

Zurück