jacob调用(一)

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”


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章