1,基本参数的传递
call(Dispatch dispatchTarget,String name,Object... attributes)
返回值为Variant
传递的参数为基本类型,int,long,string,double,float,String
参数也可以包装成Variant,比如Variant var = new Variant(123);
2,数组的调用,需要封装到SafeArray中。
JAVA代码:
int[] arrInteger = {3,4};
SafeArray safeArray = new SafeArray(Variant.VariantInt,2);
Variant var = new Variant();
safeArray.fromIntArray(arrInteger);
//如果需要继续使用当前的数据,则使用putSafeArrayRef
//如果只是传值,则可以使用putSafeArray(safeArray)
var.putSafeArrayRef(safeArray);
Dispatch.call(myCom,"testIntegerArr",var)
System.out.println(safeArray[0]);
VB代码:
Public Function testIntegerArr(a As Variant) As Variant
a(0) = 1234
a(1) = 223423
End Function
输出结果为“1234”