各位大侠: 
    我现在要用VC调用vb编写的DLL中的一个函数。开始我做了一个小程序,函数为:add(x as integer,y as integer,z as integer)在vb中生成dll ,然后用VC调用,进行运算都成功了。(在VC生成的tli文件中函数为:add(short*x,short*y,short*z)。)现在我把要编译的函数在VB中生成DLL,其中函数的参数有很多的数组。在调用的时候,vc生成的tli文件中函数变为:nline _variant_t _Class1::HuaFenWangGe ( short * Num, [color=#FF0000]SAFEARRAY * * x, SAFEARRAY * * y, SAFEARRAY * * z, short * uNum, SAFEARRAY * * uNode1, SAFEARRAY * * uNode2, short * bNum, SAFEARRAY * * bNodeNum, SAFEARRAY * * bNodeNo, short * MeshType, double * MaxL, long * PNum)[/color] 。其中显示为:SAFEARRAY都为数组,赋值运算的时候都无法通过,请各位大侠帮帮忙吧,这个问题怎么解决呀!怎样定义参数才能使VC调用这个vb的这个函数进行计算呀! 
附:生成的tli的内容: 
#pragma once 

// 
// interface _Class1 wrapper method implementations 
// 

inline _variant_t _Class1::HuaFenWangGe ( short * Num, SAFEARRAY * * x, SAFEARRAY * * y, SAFEARRAY * * z, short * uNum, SAFEARRAY * * uNode1, SAFEARRAY * * uNode2, short * bNum, SAFEARRAY * * bNodeNum, SAFEARRAY * * bNodeNo, short * MeshType, double * MaxL)    VARIANT _result; 
    VariantInit(&_result); 
    HRESULT _hr = raw_HuaFenWangGe(Num, x, y, z, uNum, uNode1, uNode2, bNum, bNodeNum, bNodeNo, MeshType, MaxL,&_result); 
    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); 
    return _variant_t(_result, false); 


    我对VC还是不很熟悉,恳请大家拔刀相助,小弟不胜感激!