Frage

Debug Assertion Failed!
File: f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\objcore.cpp Line: 40

Ich habe dieses Problem, wenn ich versuche, ein MFC-Fenster mithilfe der Debug-Konfiguration zu erstellen (DoModal) - Use MFC in a Static Library Und Dynamic Library (.dll).Bei der Release-Konfiguration ist alles in Ordnung, aber ich kann die DLL nicht debuggen.MS VS 2010

War es hilfreich?

Lösung

Dies geschieht im Release-Build nicht, da Code ASSERT verwendet, der im Release-Build keine Bedeutung hat.ASSERT ist ein Debug-Tool.

Es mag Sie überraschen, aber MFC verwendet keinen modalen Windows-Dialog.Durch den Aufruf von „Create“ oder „DoModal“ wird ein nichtmodaler Windows-Dialog erstellt.MFC erreicht Modalität durch Deaktivieren eines übergeordneten Fensters (falls vorhanden) und stellt dem Dialog eine eigene Nachrichtenverarbeitungsschleife ähnlich der Anwendungsnachrichtenschleife zur Verfügung.

Aus diesem Grund erhalten Sie unabhängig von der Verwendung von Create oder DoModal das gleiche Ergebnis.

Geschieht es, bevor der Dialog überhaupt angezeigt wird?

Der Fehler, den Sie in Ihrem Beitrag anzeigen, weist darauf hin, dass Sie irgendwo in Ihrem App-Code versuchen, ein Objekt zu verwenden, das nicht instanziiert wurde und während der Dialoginitialisierung NULL ist.Es scheint, als ob die IsKindOf-Prüfung fehlschlägt.

Wäre es möglich, Ihr Projekt zu komprimieren und zu veröffentlichen, damit wir es debuggen können?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top