有一个动态库,原来是用VB调用的,声明如下
Public Declare Function JagRead Lib "jagxapi.dll" (ByVal DataPath As String, ByVal BufferLen As Integer, Buffer As Any, ReturnLen As Integer) As Integer其中VB在调用这个函数时,Any这个类型是在VB里用了一个Type
Type JAG_STRING_40
    Data As String * 40
End Type调用函数后取到的数据在Buffer.Data里面,ReturnLen的数据也是需要传出来的。现在我想用Delphi调用这个函数,请问怎么定义参数才好?分不够可以再开贴,只求人帮忙解决一下,万分感谢!

解决方案 »

  1.   

    function jagread(datapath: string; bufferlen: integer; buffer: any; returnlen: integer):integer; external 'jagxapi.dll' name 'jagread';
      

  2.   

    谢谢楼上的支持,那照你这样定义函数,我用什么变量放入buffer这个参数里?
      

  3.   

    还有。any在delphi里没有这个类型呀
      

  4.   

    VB不太熟,猜一下吧Type JAG_STRING_40
        Data As String * 40
    End Type
    是不是一个自定义类型,长度为40的字符串数组。就是Any是个字符串数组,Delphi里这样声明这个数组类型:
    Any = arrar [1..40] of string;主要还是要试一下,实践检验真理
      

  5.   

    解决了,谢谢大家支持Any = arrar [1..40] of char;就可以了。呵呵。。一时糊涂忘记了。