Problem mit DirectX



  • Hallo ihr lieben ich versuche mich gerade an Programmierung mit DirectX und habe aus dem Buch von David Scherfgen mir folgendes Beispiel abgeschrieben um es zu testen.

    #include <Windows.h>
    #include <StdIO.h>
    #include <D3D9.h>
    
    int						g_iNumAdapters;
    D3DADAPTER_IDENTIFIER9*	g_pAdapters;
    PDIRECT3D9				g_pD3D = NULL;
    
    int WINAPI WinMain(HINSTANCE hInstance,
    				   HINSTANCE hPrevInstance,
    				   char* pcCmdLine,
    				   int iShowCmd)
    {
    	char acAdapterInfo[1024];
    
    	g_pD3D = Direct3DCreate9(D3D_SDK_VERSION);
    	if(g_pD3D ==NULL)
    	{
    		MessageBox(NULL, "Fehler beim Erzeugen von Direct3D Schnittstelle",
    				   "Fehler", MB_OK | MB_ICONEXCLAMATION);
    		return 1;
    	}
    	g_iNumAdapters = g_pD3D->GetAdapterCount();
    	g_pAdapters = new D3DADAPTER_IDENTIFIER9[g_iNumAdapters];
    
    	for(int iAdapter = 0; iAdapter < g_iNumAdapters; iAdapter++)
    	{
    		if(FAILED(g_pD3D->GetAdapterIdentifier(iAdapter, 0,
    												&g_pAdapters[iAdapter])))
    		{
    			MessageBox(NULL, "Adapter Information konnte nicht abgefragt werden!",
    					   "Fehler", MB_OK | MB_ICONEXCLAMATION);
    
    			g_pD3D->Release();
    			delete[] g_pAdapters;
    			return 1;
    		}
    
    		sprintf(acAdapterInfo, "Adapter-ID: %d\n Name: %s\n Treiber: %s\ nTreiberversion: %d",
    			  iAdapter,
    			  g_pAdapters[iAdapter].Description,
    			  g_pAdapters[iAdapter].Driver,
    			  g_pAdapters[iAdapter].AdriverVersion);
    
    		MessageBox(NULL, acAdapterInfo, "Adapter gefunden",
    				   MB_OK | MB_ICONINFORMATION);
    	}
    
    	g_pD3D->Release();
    	delete[] g_pAdapters;
    
    	return 0;
    }
    

    Bekomme aber diese FM:
    error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'const char [48]' in 'LPCWSTR' nicht möglich
    Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
    error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'const char [51]' in 'LPCWSTR' nicht möglich
    Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
    warning C4129: ' ': Nicht erkannte Folge von Escapesequenz
    error C2039: 'AdriverVersion': Ist kein Element von '_D3DADAPTER_IDENTIFIER9'
    c:\programme\microsoft directx sdk (april 2006)\include\d3d9types.h(1691): Siehe Deklaration von '_D3DADAPTER_IDENTIFIER9'
    error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'char [1024]' in 'LPCWSTR' nicht möglich
    Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.

    Ich habe es genau abgeschrieben aber es geht nicht weiß jemand rat?
    Ich benutze die Microsoft Visual C++ 2005 Express Edition. 😞

    Gruß Tankmann



  • Ich sehe gerade hab es ins falsche Forum gestellt kann es ein Mod, ins richtig schieben?
    Danke


Anmelden zum Antworten