Ich glaube eher, dass es irgendwie mit der DLL zusammenhängt. Um das mal zu erklären: Die Spiellogik, also Klassen wie Item, Player usw. habe ich in Visual C++ 2010 erstellt. Da DarkGDK damit anscheinend nicht funktioniert, benutze ich die 2008er Version. Die Spiellogik habe ich dann mit der DLL eingebunden. Als ich die .lib und die Headerdateien davon entfernt hatte (natürlich alle Verweise darauf auskommentiert) funktionierte alles wieder. Ich werde jetzt mal versuchen nur die DLL einzubinden und nichts damit zu machen. Mal sehen, ob der Fehler dann wieder kommt. Alternativ noch eine Frage: Kann man VC++ 2010 (also vcxproj) in VC++ 2008 Projekte (vcproj) konvertieren?
EDIT1:
.lib in den Projekteinstellungen hinzugefügt, Programm läuft normal, ohne Abstürze.
EDIT2:
DLL wieder verwendet, jetzt bekomm ich den hier:
|
Quellcode
|
1
|
Unbehandelte Ausnahme bei 0x00d027f3 in RPGGame1.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xbaadf00d.
|
0xBAADF00D kenn ich doch. Das war doch der Wert, mit dem uninitialisierter Heapspeicher gefüllt wird, oder so. Na dann mal sehn, wo der herkommt
EDIT3:
Hab tatsächlich GUIView und Player bei der Definition vertauscht. Und jetzt kann ich nicht mal sagen, ich hätte das nicht gewusst
Beim normalen Debuggen, aus VC++ heraus gehts jetzt, die Werte werden perfekt angezeigt, es ist alles so, wie ich es gerne hätte. Beim Starten aus dem Explorer heraus oder über strg+F5 (auch Debug-Konfiguration) geht es nicht mehr. Es stürzt wie am Anfangspost schon geschrieben ab.
|
Quellcode
|
1
|
Unbehandelte Ausnahme bei 0x77c643d6 (ntdll.dll) in RPGGame1.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00000000.
|
Kann man diese Default-0 Initialisierung einfach abschalten?