在VC中函数定义为
rdcard(int icDev,uchar * cardlx)在VC的DEMO中,执行后,cardlx可直接得到诸如12345,yfd等字符串在VB中定义
Declare Function rdcard Lib "rwcard.dll" (ByVal icDev As Long, ByRef cardlx As String) As IntegerDEMO中,
    Dim ads As String
    aa = rdcompany(514, ads)
程序执行即飞而在VB中定义
Declare Function rdcard Lib "rwcard.dll" (ByVal icDev As Long, ByRef cardlx As byte) As IntegerDEMO中,
     Dim aaa(50) As Byte
    aa = rdcompany(514, aaa(0))
 方可这样的话,如果cardlx是个不定长的字符,要想得到就很麻烦,请问有什么办法解决吗

解决方案 »

  1.   

    Declare Function rdcard Lib "rwcard.dll" (ByVal icDev As Long, ByVal cardlx As long) As Integer
      

  2.   

    cardlx 传strptr后得到的地址
      

  3.   


    Declare Function rdcard Lib "rwcard.dll" (ByVal icDev As Long, ByRef cardlx As String) As IntegerDim ads As String * 256
    aa = rdcompany(514, ads)
      

  4.   

    你认真看我的声明call rdcompany(512,strptr("1233"))
      

  5.   

    ByVal cardlx As long ???
    strptr ???
      

  6.   

    最终我要得到cardlx的字符值,定义成long,那strptr(参数为strting)怎么用呢