VC里面这样定义的:WORD _stdcall RCDes(BYTE* DesObject,WORD ObjectLen,BYTE* DesResult,BOOL DesDo)
Vb里面这样声明的:Private Declare Function rcdesa Lib "D:\DesApp.dll" Alias "RCDes" (ByVal str As Byte, ByVal strlength As Long, ByVal result As Byte, ByVal flag As Boolean) As Long
一筹莫展…………………………:(

解决方案 »

  1.   

    WORD 和vb的Long不是对应的吧,WORD 是16位,Long是32位
    还有BOOL和boolean不对应,应该把Boolean改成Long
    Private Declare Function RCDes Lib "D:\DesApp.dll" Alias "RCDes" (ByVal str As Byte, ByVal strlength As Integar, ByVal result As Byte, ByVal flag As Long) As Integar
    vc   int     vb   Long
         long         Long
         BOOL         Long
         WORD         Integar
         DWORD        Long
         char         Byte
         BYTE         Byte
      

  2.   

    BYTE* DesObject这样的方式要采用传地址,将数组的第一个元素按地址传入即可!!!!!!!!!!