已经有API_Jk105.dll(IC卡读写器接口),请问在DELPHI中如何实现动态调用?API_Jk105.dll有很多个函数,都需要带参数的。其中有:
OpenReader_n(int tmpCom1)
功能:打开读写器
参数:串口号
返回值:0-----------正确
        1------错误请教如何在DELPHI6中如何动态调用啊?忘了说明,在调用API_Jk105.dll之前要先调用API_CommonFun.dll,从硬件合作方提供的资料来看,在调用API_Jk105.dll应该都要先调用API_CommonFun.dll的公共DLL。请教各位高手了,解决后马上给分。如果觉得分数不够可以再加分,拜托了谢谢了!

解决方案 »

  1.   

    不太明白怎么动态调用API_CommonFun.dll,又没有它提供的输出函数
      

  2.   

    动态调用:
    现在声明部分加上函数OpenReader_n(int tmpCom1)的类型函数,你这个怎么没有返回类型;
    如:TOpenReader_n = function(tmpCom1:integer):返回类型;调用约定;
    接下来你就可以在你的程序里调用了
    如:
    var
      LibHandle:THandle;
      Fun:TOpenReader_n;
    begin
      LibHandle:=LoadLibrary('API_Jk105.dll');//这里如果API_Jk105.dll不在默认路径里,要写完整
      @Fun:=GetProcAddress(LibHandle,OpenReader_n);
       ....................//这里就可以使用这个函数了;
      freeLibrary(LibHandle);//一定要记得释放这个动态连接哭;
    end;
      

  3.   

    对不起,没看仔细,原来有返回类型的,不过还是没有调用约定;
    那么声明就应该写
    TOpenReader_n = function(tmpCom1:integer):integer;调用约定;//调用约定一般都是stdcall,不过也可能是别的
      

  4.   

    我还是不太明白,这样吧,我把相关的技术资料发邮件给你,麻烦你帮我看一下。最好是能给我DELPHI调用这些DLL的源代码,问题解决后给你100分以表感谢,你看如何啊?请收邮件
      

  5.   

    对了,你的邮件地址呢?我的是[email protected](MSN PASSPORT)