DirectInput8 kann nicht initalisiert werden :(
-
Hmm... jetzt müsste man noch wissen, wie man so nen 'HRESULT' auswertet, was?
Aber den Rest kann ich jetzt schon ausprobieren *freu*.
thx & cu
-
HRESULT hr = DirectInput8Create(...);
switch(hr)
{
case DI_OK:
...
break;
case DIERR_BETADIRECTINPUTVERSION:
...
break;
case DIERR_INVALIDPARAM:
...
break;
case DIERR_OLDDIRECTINPUTVERSION:
...
break;
case DIERR_OUTOFMEMORY:
...
break;
}Da war ich wohl zu langsam
[ Dieser Beitrag wurde am 06.01.2003 um 19:49 Uhr von flenders editiert. ]
-
So hab ich's jetzt:
HRESULT hResult = DirectInput8Create(hInstance,DIRECTINPUT_VERSION,IID_IDirectInput8,(void **) &m_lpDI,0); if(hResult == DIERR_OLDDIRECTINPUTVERSION) { throw TEXT("OLDDIRECTINPUTVERSION"); } else if(hResult == DIERR_INVALIDPARAM) { throw TEXT("INVALIDPARAM"); } else if(hResult == DIERR_OUTOFMEMORY) { throw TEXT("OUTOFMEMORY"); } else if(hResult == DIERR_BETADIRECTINPUTVERSION) { throw TEXT("BETADIRECTINPUTVERSION"); } else { throw TEXT("Nix gefunden..."); }
Es wird aber immer "Nix gefunden..." ausgegeben...
@ChrisM: Funktioniert bei mir nicht, ich kann da nix umstellen.
@flenders: Hat auch nicht funktioniert.cya
-
Teste mal noch auf DI_OK!
-
HRESULT hResult = DirectInput8Create(hInstance,DIRECTINPUT_VERSION,IID_IDirectInput8,(void **) &m_lpDI,0); if(hResult == DIERR_OLDDIRECTINPUTVERSION) { throw TEXT("OLDDIRECTINPUTVERSION"); } else if(hResult == DIERR_INVALIDPARAM) { throw TEXT("INVALIDPARAM"); } else if(hResult == DIERR_OUTOFMEMORY) { throw TEXT("OUTOFMEMORY"); } else if(hResult == DIERR_BETADIRECTINPUTVERSION) { throw TEXT("BETADIRECTINPUTVERSION"); } else if(hResult == DI_OK) { throw TEXT("OK"); } else { throw TEXT("Nix gefunden..."); }
Auch "Nix gefunden...". Das ist ja dann ein Fehler, den es gar nicht gibt, oder was ;)? In meiner DX-Doku stehen nur die oben genannten Möglichkeiten für HRESULT bei DirectInput8Create...
cya
-
Ich meine, vieleicht wenn du willst ich habe ne klasse für DirectInput geschrieben, allerdings mit Version 7. läuft aber natürlich auch mit 8. Wenn willst gebe ich sie dir mal.
-
@xyz44: Ne, brauchst du nicht. Ich möchte eigentlich nur wissen, warum das nicht geht :).
cya
-
Hast du bei der Version schon mal NULL statt 0 ausprobiert? (man kann ja nie wissen )
-
Das geht auch nicht... :heul:
thx & cya
-
Ist vielleich dein hInstance in der Funktion nicht gültig, oder sowas?
Hast du schonmal probiert die Funktion aus deiner Memberfunktion rauszunehmen und direkt in WinMain zu setzen?[ Dieser Beitrag wurde am 06.01.2003 um 20:41 Uhr von flenders editiert. ]
-
Funktionieren denn die DirectInput-Beispielprogramme aus dem DirectX-SDK?
-
@flenders: hInstance ist gültig, bin da mit'm Debugger schon mal drübergefahren.
@ThomasRiker: Einen Moment bitte, ich probier's mal aus....cya
-
Die Beispiele aus dem SDK funktionieren, ich hab's dann auch mal GetModuleHandle(0) probiert, auch mit GetModuleHandle(NULL), hat aber auch nicht funktioniert, liegt also nicht an der Instance.
thx & cya
-
Du hast aber nicht DirectX 9.0 draufgemacht, oder?
-
Nein, bin noch ein treuer Anhänger von DirectX 8.
cya
-
Hat noch irgendjemand irgendeine Idee?
cya
-
Stelle DirectInput mal in der Systemsteuerung unter "DirectX" auf "Debug" und lasse dann mal das Programm NUR mit F5 laufen (bei MSVC++ ist das der Debugmodus). Dann schau mal, was die Debugausgabe sagt. Das ist sicher irgendein total blöder Fehler...
-
Dann muss ich jetzt mein SDK neu installieren, weil ich nur die Retail-Version drauf hab...
cya
-
Ich hab da nix umstellen können, auch nach einem Neustart nicht. Wenn ich das ganze mal im Debug-Modus laufen lasse, spuckt er mir das aus, vielleicht könnt ihr was damit anfangen, ich kann's nicht :
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\user32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\gdi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\advapi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\rpcrt4.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\d3d8.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\d3d8thk.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\version.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\dinput8.dll', no matching symbolic information found.
Loaded 'C:\Programme\Microsoft Hardware\Mouse\Msh_zwf.dll', no matching symbolic information found.
First-chance exception in mcGraphics.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
The thread 0xB5C has exited with code -858993460 (0xCCCCCCCC).
The program 'D:\MagiC Creating\MyProjects\mcGraphics\Debug\mcGraphics.exe' has exited with code -858993460 (0xCCCCCCCC).thx & cya
-
Aaarrggg! Ich hab den Fehler gefunden... es lag gar nicht an dem Aufruf!!! Sorry, dass ich euch belästigt hab *schäm*. Was so ein kleines '!' am falschen Ort so ausmachen kann...
Vielleicht könnte mir noch trotzdem jemand sagen, ob die Debug-Version wirklich langsamer ist als die Retail-Version, wär nett :), auch wenn ich so böse war ;).
thx & cya