Dialog will nicht (genauer: Combobox)
-
Du solltest ja (so wie ich das im Kopf und verstanden hab) nicht den Anfasser anklicken, sondern auf den Dropdowpfeil und da dann über die Anfasser die Größe festlegen - die eigentliche Box wird dadurch nicht größer
-
Ich bin kein DirectX-Experte, mit dem Problem selbst hat es auch nichts zu tun. Aber das hier kann unmöglich richtig sein:
if(FAILED(g_pD3D = Direct3DCreate9(D3D_SDK_VERSION))) { MessageBox(0,"Direct3D9Create schlug fehl!","Fehler",0); return 1; }
Was kommt denn nun von der Funktion zurück? Ein Pointer oder ein HRESULT? Beides gleichzeitig doch wohl nicht. Oder versteh ich schon wieder was nicht?
-
Logischerweise sollte es so lauten:
if( (g_pD3D = Direct3DCreate9(D3D_SDK_VERSION))==NULL) { MessageBox(0,"Direct3D9Create schlug fehl!","Fehler",0); return 1; }
-
Ich denke, dass das FAILED schon prüft, ob es jetzt geklappt hat oder nicht... der Vergleich mit 0 ist da eher überflüssig...
im funktionierenden Tutorial sieht das so aus:
if(FAILED(lpD3D=Direct3DCreate9(D3D_SDK_VERSION))) { MessageBox(0,"DirectX9 kann nicht initialisiert werden",0,0); return -1; }
Das mit dem Dropdown-pfeil hab ich wohl irgndwie nicht so ganz gecheckt...
Ich hatte halt noch nie was mit WINAPI gemacht...
Naja... jetzt weiß ich s...THNX @ ALL
[ Dieser Beitrag wurde am 24.06.2003 um 14:07 Uhr von PhilipS editiert. ]
-
Das Tutorial ist falsch. Direct3DCreate9 gibt einen ZEIGER zurück. Mit dem FAILED Makro überprüft man aber HRESULTs und keine ZEIGER!
-
Zitat aus der MSDN:
**
FAILED
Provides a generic test for failure on any status value. Negative numbers indicate failure.#define FAILED(Status) ((HRESULT)(Status)<0)
Requirements
Windows NT/2000/XP: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in winerror.h.See Also
Error Handling
**
-
naja, dann werd ich s mal ändern....
thnx