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
    **

    FAILED()



  • naja, dann werd ich s mal ändern....
    thnx


Anmelden zum Antworten