@
Falko:
Die DSETUP.dll ist bei den DX-SDKs immer dabei, in SDK\redist\
und man kann sie weitergeben.
Wenn Du die DLL schon hast, dann ist sie vielleicht nicht im
Path, also findet er die DLL nicht.
Habs grad kurz probiert und die DSETUP.dll von den DX-SDKs 7 und 9
in PureBasic\Compilers\ kopiert - und hat funktioniert.
Code:
Code: Alles auswählen
;
; by Danilo, 12.10.2004 - german forum
;
; requires DSETUP.dll from DirectSDK\redist\
;
Procedure DirectXSetupGetVersion(*version,*revision)
lib = OpenLibrary(1,"DSETUP.dll")
If lib
ret = CallFunction(1,"DirectXSetupGetVersion",*version,*revision)
CloseLibrary(1)
EndIf
ProcedureReturn ret
EndProcedure
If DirectXSetupGetVersion(@Version,@Revision)>0
Debug "DirectX Version: "+Str(Version>>16&$FFFF)+"."+Str(Version&$FFFF)+"."+Str(Revision>>16&$FFFF)+"."+Str(Revision&$FFFF)
Debug " (DirectX "+Str(Version&$FFFF)+")"
EndIf
Oder hier inkl. DSETUP.dll vom DX7 SDK:
DSETUP.zip (15k)
Wenn die DLL nicht im Path ist, dann muß sie im .EXE Verzeichniss
sein - oder man nimmt den kompletten Pfad zur DLL.
Bei F5-Kompilierung muß die DLL in PureBasic\Compilers\ sein.
PS: Dein "If DirectXSetupGetVersion_(*Version,*Revision)>0"
wär sowieso nicht richtig, da das 2 Null-Pointer sind.
Du mußt die Adresse dieser 2 Long-Variablen übergeben, als mit '@' !