Problem mit D3DX9 DrawText()
-
Hi,
ich hab folgendes Problem.
Ich will einen Text in meinem DirecX Fenster anzeigen lassen und dazu die DrawText() Funktion verwenden.Zuerst einige Deklarationen und sowas:
//global declarations LPDIRECT3D9 d3d; LPDIRECT3DDEVICE9 d3ddev; D3DCOLOR fntcolor1; RECT txtrct1; LPD3DXFONT fntArial16pt;
in der WinMain() wird die Schriftfarbe auf blau gesetzt, die font erstellt und das rectangle gesetzt:
fntcolor1 = D3DCOLOR_XRGB(107,203,255); //start fntcolor blue //create font objects D3DXCreateFont(d3ddev, 16, 0, FW_BOLD, 0, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, TEXT("Arial"), &fntArial16pt); //create rectangle for text 1 ZeroMemory(&txtrct1, sizeof(txtrct1)); txtrct1.top = 100; txtrct1.left = 80; txtrct1.bottom = txtrct1.top + 16; txtrct1.right = txtrct1.left + 500;
in der render_frame()-Funktion rufe ich dann den folgenden Befehl auf:
fntArial16pt->DrawText(NULL, (LPCTSTR)"Hello World...", -1, &txtrct1, 0, fntcolor1);
Genau diese Zeile lässt dann das Programm abstürzen, sobald es gestartet wurde und verursacht den folgenden Error:
Visual Studio 2008: Unhandled exception at 0x000e1230 in Direct3D_Basics.exe: 0xC0000005: Access violation reading location 0x00000000.
Please help me
-
This is a GERMAN forum, so repost it or edit it, please!
-
Naja, offensichtlich hast du wo einen Nullpointer drin!? Wurden denn dein Device und das Font-Objekt korrekt erstellt?
-
das device funktioniert, das hab ich auch schon in einem anderen abschnitt verwendet...
und ansonsten kommt zumindest kein error o.ä. ich weiß also nicht was falsch sein könnte
-
Du hast aber ganz klar einen Nullpointer, was bedeutet dass irgendein Objekt nicht richtig erstellt wurde. Wenn der Fehler in der Zeile auftritt von der du sagst dass er auftritt dann kann das eigentlich nur bedeuten dass fntArial16pt 0 ist...
-
Warum benutzt du nicht den Debugger?