最近项目需要 在java里面 调用一个OCX 控件,在网上找了方法 然后下载了jacob的包 注册ocx控件 然后调用方法都可以 但是 有一个方法 它的参数列表里面 第一个参数是 设备ID  后面的参数是 设备信息 全是输出类型的 ,问题是Java里面没有输出类型参数这个说法,请教了一个C#同事 他说需要传引用类型 然后也试了 但是得不到值 求高手帮忙!!!!public class GetZSMessage {
public GetZSMessage(){
ActiveXComponent com = new ActiveXComponent("DataCenterXControl.DataCenterX") ;
//根据注册ID获取组件
Dispatch disp = (Dispatch) com.getObject();//获取对象 
Dispatch.call(disp, "AddDTU","zsgprs01","123456");
Variant aaa = Dispatch.call(disp, "StartService", 65000);
Variant a = new Variant("zsgprs01");
Variant b = new Variant(true);
Variant c = new Variant(true);
Variant d = new Variant(true);
Variant e = new Variant(true);
Variant f = new Variant(true);
Variant g = new Variant(true);
Variant h = new Variant(true);
Variant i = new Variant(true);
Variant j = new Variant(true);
Variant k = new Variant(true);
Variant l = new Variant(true);
Dispatch.call(disp,"GetDTUInfo",a,b,c,d,e,f,g,h,i,j,k,l); //关键在这里 此方法能调用成功,但是因为这个方法 在VC 或者C#里面 b-l的参数都是输出类型的 ,问题是JAVA没有输出类型的参数,然后我一个C#同事 他说传引用类型进去 ,所以 才定义了Variant(jacob自己带的类型,类似javaScript的 var) 但是 方法调用成功能 能正确调用 但是 b-l的值 并没有得到 !有木有做过这类的朋友 这个东西我困扰了几天 网上的都差不多找完了 仍然没有找到解决方法 !!!JAVA OCX 输出参数