当前位置:编程学习 > JAVA >>

java跟ocx通信问题

我这有个程序要求用java跟ocx通信,我想做个测试用的程序。
主要涉及到返回值.
还有ocx的事件监控的调用
例如
返回值问题: boolean sum(int a, int b, int* sum)其中sum是返回值。。。
事件 问题:ocx有个事件DataArrive(String args),监听是否收到数据

我使用的是jacob1.14
有哪位大侠懂这个。救命啊
--------------------------------
我的代码

/*事件*/
import com.jacob.com.Variant;
public class  AiPlugOCXEvent {
public void DataArrival(Variant v) {
       System.out.println("DataArrival:" + v);
}
}



public class AiPlugOCX {
ActiveXComponent aiPlug;
Dispatch adp;
ActiveXDispatchEvents adpet;
AiPlugOCXEvent event;


public static void main(String args[]) throws Exception {
AiPlugOCX AOCX = new AiPlugOCX();
AOCX.test();
}

public AiPlugOCX() {
                //注册ocx
aiPlug = new ActiveXComponent("AiPlugControl.AiPlug");
adp = aiPlug.getObject();
                //注册事件
event = new AiPlugOCXEvent(adp);
adpet = new ActiveXDispatchEvents(adp, event,"AiPlugControl.AiPlug");
}

        //释放
public void release() {
aiPlug.safeRelease();
adpet.safeRelease();
}
        public void test() {
try {
                     Variant sum=new Variant();
     Variant v=Dispatch.call(adp, "sum",10,5,sum);
                     System.out.println("DataArrival:" + v+sum);
} catch (Exception e) {
e.printStackTrace();
} finally {
release();
}
}


--------------------编程问答-------------------- 我也遇到这个问题,事件触发没有进入JAVA类中来,哎!
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,