DirectX-initialisierung: Invalid call



  • ich versuch schon seit einiger Zeit, DirectX zu initialisieren, doch irgendwie krieg ichs nicht hin
    ich hab mir grad DirectX9 runtergeladen und bin dabei, das Tutorial durchzunehmen, das dabei mitgeliefert wird, doch irgendwie klappt das ganze nicht.
    beim erstellen des Devices krieg ich einen invalid call, was sogut wie (soweit ichs verstanden hab) falscher Parameter heißt. Ich habs aber genauso gemacht, wies im tut steht, es klappt aber doch nicht - was ist hier falsch?

    //Application ist eine Klasse, welche auch das Handle vom Fenster enthält
    int cSurface::InitDX(cApplication* Application)
    {
      D3DPRESENT_PARAMETERS d3dpp; 
    
      if ((Interface = Direct3DCreate9(D3D_SDK_VERSION)) == NULL)
        Application->ShowMessage("Interface is NULL", "ERROR", APP_MSGKIND_ERROR);
      ZeroMemory(&d3dpp, sizeof(d3dpp));
      d3dpp.Windowed = TRUE;
      d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
      d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
    
      switch (Interface->CreateDevice(
        D3DADAPTER_DEFAULT,
        D3DDEVTYPE_HAL,
        Application->Handle,
        D3DCREATE_SOFTWARE_VERTEXPROCESSING,
        &d3dpp,
        &Device))
    
      {
        case D3D_OK: break;
        case D3DERR_INVALIDCALL: Application->ShowMessage("Invalid call", "DX Engine", APP_MSGKIND_ERROR); break;
        case D3DERR_NOTAVAILABLE: Application->ShowMessage("Not available", "DX Engine", APP_MSGKIND_ERROR); break;
        case D3DERR_OUTOFVIDEOMEMORY: Application->ShowMessage("Out of Video memory", "DX Engine", APP_MSGKIND_ERROR); break;
        default: Application->ShowMessage("Unknown Error", "DX Engine", APP_MSGKIND_ERROR);
      }
      return 1;
    }
    


  • Dieses Problem kann der Poster IMHO selbst lösen. Unter Umständen ist dazu eines der folgenden Hilfsmittel zu nutzen:
    - Dokumentation zur benutzen API
    - google
    - FAQ/Suche dieses Boards
    - Debugger
    - geringe Mengen Gehirnschmalz

    Dieses Posting wurde nicht automatisch generiert sondern per Hand eingefügt. Beschwerden werden trotzdem ignoriert.

    Disclaimer: dies ist kein direkter persönlicher Angriff.

    Bye, TGGC (Reden wie die Großen)



  • wow, lag richtig!
    na ja, vielleicht bin ich ja nicht hartnäckig genug...


Anmelden zum Antworten