D3D FullScreen und xFiles
-
Hallo zusammen,
ich hab ne D3D Anwendung und lade ein einfaches xFile. Im Fenster-Modus funktioniert alles bestens. Lasse ich die Anwendung aber im Fullscreen-Modus laufen
d3dpp.Windowed = FALSE; //d3dpp ... D3DPRESENT_PARAMETERS d3dpp.BackBufferWidth = d3ddm.Width; //d3ddm ... D3DDISPLAYMODE d3dpp.BackBufferHeight = d3ddm.Height;
so hängt sich meine Anwendung beim Beenden auf. Und zwar mit:
First-chance exception in Sample.exe (NTDLL.DLL): 0xC0000008: Invalid Handle.Zum Laden des xFiles habe ich eine separate Klasse. Dort habe ich bereits alles mögliche weg-kommentiert bis zum Aufruf von
HRESULT hr = D3DXLoadMeshFromX( cName, // Kompletter Dateiname D3DXMESH_SYSTEMMEM, // in den Arbeitsspeicher laden m_pDevice, // Zeiger auf den Device NULL, &pMaterialBuffer, // MaterialPuffer &m_dMaterials, // Anzahl der Materialien &m_pMesh); if (hr != D3D_OK) return FALSE;
Wenn ich den auch noch weglasse, dann erhalte ich keinen Fehler, also muss das doch mit diesem Aufruf zusammen hängen
Gruss mathi
[ Dieser Beitrag wurde am 10.06.2003 um 14:06 Uhr von mathi editiert. ]
-
Wie kehrst Du aus dem Vollbildmodus zurück?
-
Ich kehre garnicht zurück...ist das wichtig?...das Wechseln zw. Fenster- und Vollbildmodus sieht in den Beispielen kompliziert aus. Die ganz einfachen Beispiele ohne xFiles (Geometrie: ein Polygon direkt im Quellcode) funktionieren tadellos im Vollbild ohne zurückzukehren.
[ Dieser Beitrag wurde am 10.06.2003 um 14:54 Uhr von mathi editiert. ]
-
Und der Debugger hilft Dir nicht?
-
Leider hilft der mir nicht weiter. Der Fehler tritt direkt beim Verlassen der WinMain auf. Am "return 0" gehts noch sauber vorbei. Wenn ich mich dann noch weiter hangel, komme ich in der Datei "CRTODAT.C" an die Funktion "ExitProcess(code)" an. Da ist Ende, dort tritt der Fehler auf. Übrigens: code = 0, an der Stelle.