各位前辈:
好,我在DLL里 写了个函数:
Readcard(var icdev:integer;cardno:integer);stdcall;export;
begin
icdev:=3;
cardno:=5;
end;我在delphi中调用DLL里这个 Readcard(icdev,cardno) 函数的时候:
begin
Readcard(icdev1,cardno1);
showmessage(inttostr(icdev1));
end;
为什么 icdev1的值不是3啊 请大哥大姐姐们指点一下,不胜感激。。
好,我在DLL里 写了个函数:
Readcard(var icdev:integer;cardno:integer);stdcall;export;
begin
icdev:=3;
cardno:=5;
end;我在delphi中调用DLL里这个 Readcard(icdev,cardno) 函数的时候:
begin
Readcard(icdev1,cardno1);
showmessage(inttostr(icdev1));
end;
为什么 icdev1的值不是3啊 请大哥大姐姐们指点一下,不胜感激。。
function Readcard(var icdev:integer;cardno:integer);stdcall;external 'YourDll.dll';2.动态声明:
var
DllHandle: THandle;
Readcard: function(var icdev: Integer; cardno: Integer); stdcall;
begin
DllHandle := LoadLibrary('YourDll.dll');
if DllHandle > 0 then
try
Readcard := GetProcAddress(DllHandle, 'Readcard'); //这里注意函数名的大小写要与动态库中一致
if Assigned(Readcard) then
//调用Readcard
finally
FreeLibrary(DllHandle);
end;
end;
function readcardno(icdev: longint;cardno:smallint):smallint;stdcall;
far;external 'tclreg.dll'name 'readcardno';tclreg.dll 的函数如下:
function readcardno(icdev:integer;cardno:integer):integer;stdcall;export;是不是dll中的函数中的两个参数,根本就传不到应用程序中来啊 ,谢谢指点