vb怎样把二维数组传递给vc写的dll---请高手指教

解决方案 »

  1.   

    线索1: VB6里声明时参数用byref, 传参时传数组的首元素.
    线索2: 最好让VC6在编译时确定数组各维维数, 
    void mydllfunction(char array[5][6]);如果用
    void mydllfunction(char** array);
    {
    //那就要在函数里强制类型转换成
    char* arr = (char*)array;
    }线索3: VB6里的数组是列优先的, VC6里的数组是列优先的.
      

  2.   

    -_-#, 更正, VC6里的数组是行优先的, 跟VB6里的正好相反.
      

  3.   


    Private Declare Sub aaa Lib "pole.dll" (ByRef a As Long)Dim Arr(2, 2) As LongCall aaa(Arr(0, 0))