雅各布:com.jacob.com.ComFailException:不能共同创建对象

时间:2014-05-30 09:24:10

标签: java imacros jacob

我在运行下面的代码时遇到异常Exception in thread "main" com.jacob.com.ComFailException: Can't co-create object

我在网上查了一下帮助。有些网站说我需要注册我的dll。我尝试使用regsvr32.exe进行注册。但我无法成功注册。低于弹出窗口。

  

模块" jacob-1.18-M2-x64.dll"已加载,但未找到入口点DllRegisterServer。请确保" jacob-1.18-M2-x64.dll"是一个有效的DLL或OCX文件,然后再试一次。

3 个答案:

答案 0 :(得分:2)

1。)您不需要注册jacob-dll,只需要在java.library.path上的某个地方。它是包含必须注册的COM对象的DLL。

2.。)如果注册了COM-dll,则必须注意使用正确的JVM和库。 32位dll仅适用于32位JVM,64位dll仅适用于64位jvm。使用错误的JVM将导致Can't co-create object错误。

答案 1 :(得分:1)

我遇到了同样的问题,这就是我修复它的方法:

  1. 使用OLE / COM对象查看器
  2. 查找COM对象
  3. 确保使用regsvr32.exe(来自C:\ Windows \ System32)注册您的dll
  4. 您需要创建一个代理,以便从64位应用程序访问32位dll。请在此处查看:http://www.gfi.com/blog/32bit-object-64bit-environment/

答案 2 :(得分:0)

我遇到了同样的问题,并按照以下步骤解决了。 1.设置jacob.jar的lib路径 2.将jacob-x86.dll(或64位大小写的jacob-x64.dll)复制到System32目录。

import com.jacob.activeX.ActiveXComponent;

ActiveXComponent activeXComponent = new ActiveXComponent("ACTIVEX.ActiveXCtrl.1");