delphi编写的dll中的函数如下:
function mydata(ASender: TObject; bytesTotal: Integer; out databuffer: pchar):integer; stdcall; external 'tpwork.dll';在delphi中正常调用,但在vb里,无法传入红色的那部分。在delphi中,那是一个TWinsock的ASender

解决方案 »

  1.   

    Private Declare Function mydata2 Lib "tpwork.dll" Alias "mydata" (ByVal ASender As Object, bytesTotal As Integer, databuffer As Long) As Integer
    参考下
      

  2.   

    Private Declare Function mydata2 Lib "tpwork.dll" Alias "mydata" (ByVal ASender As Object, bytesTotal As Integer, databuffer As string) As Integer
      

  3.   


    Private Declare Function mydata Lib "tpwork.dll"  (ASender As Object, Byval bytesTotal As Integer, byval databuffer As string) As Integer
      

  4.   


    function mydata(ASender: TObject; bytesTotal: Integer; out databuffer: pchar):integer; stdcall; external 'tpwork.dll'
    '这个应该是Delphi的,其TObject应该不是Com对象的Object,
    'delphi的integer不是16位,是32位,我觉得应该定义为Private Declare Function mydata Lib "tpwork.dll"  (byval ASender As long, Byval bytesTotal As long, byval databuffer As string) As long