com.jacob.com.ComFailException: Can't co-create object

发布于 2021-11-03 04:23:13 字数 982 浏览 1137 评论 2

我用 jacob-1.14.3-X64 (jdk 64 位)在 windows server 2003 x64 位机器上调用第三方 dll,但是一直都是报错:

com.jacob.com.ComFailException: Can't co-create object 
at com.jacob.com.Dispatch.createInstanceNative(Native Method)
at com.jacob.com.Dispatch.<init>(Dispatch.java:101)
at com.jacob.activeX.ActiveXComponent.<init>(ActiveXComponent.java:58)
at com.dheaven.mip.protocol.dps.office.WindowsFile$1.call(WindowsFile.java:118)
at com.dheaven.mip.protocol.dps.office.WindowsFile$1.call(WindowsFile.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

但是,我用 jacob-1.14.3-X86(jdk32 位)在 windows server 2003 x64 位机器上调用同样的 dll,却没报错

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

输什么也不输骨气 2021-11-08 16:58:24

我用 jacob 调用.ocx 一直报

Exception in thread "main" com.jacob.com.ComFailException: Can't co-create object
at com.jacob.com.Dispatch.createInstanceNative(Native Method)
at com.jacob.com.Dispatch.<init>(Dispatch.java:99)
at com.jacob.activeX.ActiveXComponent.<init>(ActiveXComponent.java:58)

一直报这个错,不知道是怎么回事。

ActiveXComponent axc = new ActiveXComponent (progId);

这个参数我是在注册表里找的 ProgID,有知道是怎么回事的吗?

冷弦 2021-11-08 10:16:25

jacob-1.14.3-X64.dll 这个是 64 位的 DLL,在 64 位的 SDK 时,会去选择用这一个动态库去加载我们的 COM 或者 ActiveX 组件,然而我们的 COM 组件确是 32 位的。64 位与 32 位不可以交叉使用。要么统一是 64 位,要么统一是 32 位。所以,导致了创建失败的问题,希望对你有帮助。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文