請教大家一個問題vc dll聲明'void FindBorder(void* buffer1);buff1是vc傳給 vb的 short 數組~ vb裡面怎麼聲明啊
我是這樣的,不知道對哇
dim buf3() as integer
ReDim buf3(1000) As integerCall FindBorder( buf3(0))Public Declare Function FindBorder Lib "MathLib.dll" ( ByRef buf3 As Integer)

解决方案 »

  1.   

    语句格式为:Declare Sub 过程名Lib [ Alias " 别名]([ByVal 参数AS类型]),或为Declare Function函数名Lib [Alias " 别名]([ByVal 参数AS类型])AS类型 Integer 最好换成Long
    楼下的,我说的对吧?
      

  2.   

    vc dll 裡面傳遞一個數組給 vb ,難道一定要使用 “安全數組”?
      

  3.   

    本帖最后由 bcrun 于 2010-11-15 10:39:05 编辑
      

  4.   

    补充,
    如果vb声明里是ByVal DataArray As long
    那么在vb里调用api函数时要应该这样:i = fnTestArray(VarPtr(lenarray(0)), 2)
      

  5.   

    Public Declare Function FindBorder Lib "MathLib.dll" ( ByRef buf3 As any)vb:call FindBorder(a(0))