Jacob调用ocx出现类型不匹配

sinall 2015-03-11 08:06:56
用ActiveXplorer看ocx

Public Function getConnectionState(errorCode As Long) As Long ' 方法getConnectionState


调用代码为:

ActiveXComponent activeX = new ActiveXComponent("XXXCOMCtrl.1");
dispatch = activeX.getObject();
Long errorCode = 0L;
Variant ret = Dispatch.call(dispatch, "getConnectionState", errorCode);


错误为:

Exception in thread "main" com.jacob.com.ComFailException: A COM exception has been encountered:
At Invoke of: getConnectionState
Description: 80020005 / 类型不匹配。

at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:625)
at com.jacob.com.Dispatch.callN(Dispatch.java:453)
at com.jacob.com.Dispatch.call(Dispatch.java:541)
at com.xxx.main(Main.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)


请问该如何调用该函数?
...全文
478 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
clever101 2015-03-26
  • 打赏
  • 举报
回复
改为:

 Long errorCode = 0L;
Variant v = new Variant(errorCode );
 Variant ret = Dispatch.call(dispatch, "getConnectionState", v);

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧