Hi @All!
ich habe diesen Code
Code:
Public Enum eMode
CommonMode = 0
IMode_1 = 1
IMode_2 = 2
IMode_3 = 3
IMode_4 = 4
IMode_5 = 5
SimpleMode = 6
End Enum
Declare Sub SetDeviceEnabled Lib "AN21xx.dll" (ByVal DevNumber As Byte, _
ByVal DriverName As String, _
ByVal MC_Mode As eMode, _
ByVal ID As String, _
ByVal KeyWord As String, _
I_Error As Long)
von einem VB-Beispiel genommen und wollte ihn in Delphicode umwandeln,
aber irgendwas mach ich falsch:
Delphi-Quellcode:
const
CommonMode = 0;
IMode_1 = 1;
IMode_2 = 2;
IMode_3 = 3;
IMode_4 = 4;
SimpleMode = 5;
type TDLL_AN21xx_SetDeviceEnabled = procedure( const aDevNumber : Byte;
const aDriverName : PChar;
const aMC_Mode : integer;
const aID : PChar;
const aKeyWord : PChar;
var aError : integer
);
var DLL_AN21xx_SetDeviceEnabled : TDLL_AN21xx_SetDeviceEnabled = nil;
function DLL_An21xx_Init : Boolean;
implementation
function DLL_An21xx_init : Boolean;
var a : Cardinal;
begin
a := LoadLibrary(pChar(ExtractFilePath( Application.exename) + 'AN21xx.dll'));
@DLL_AN21xx_SetDeviceEnabled := GetProcAddress (a,'SetDeviceEnabled');
if @DLL_AN21xx_SetDeviceEnabled = nil then Result := false else Result := true;
end;
ich komme einfach nicht drauf.
immer wenn ich dann die Proceduer DLL_AN21xx_SetDeviceEnabled aufrufe kommt eine Zugriffsverletzung. Also muss irgendein parameter falsch sein?
Hoffe ihr könnt mir weiterhelfen.
Danke schonmal im voraus.
Wolfgang