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);
}
}
--------------------编程问答-------------------- 我也遇到这个问题,事件触发没有进入JAVA类中来,哎!
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 EE