簡體   English   中英

雅各布:com.jacob.com.ComFailException:無法共同創建對象

[英]Jacob: com.jacob.com.ComFailException: Can't co-create object

Exception in thread "main" com.jacob.com.ComFailException: Can't co-create object異常Exception in thread "main" com.jacob.com.ComFailException: Can't co-create object運行下面的代碼時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 文件,然后重試.

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. 使用 OLE/COM 對象查看器查找您的 COM 對象
  2. 確保使用 regsvr32.exe 注冊您的 dll(來自 C:\\Windows\\System32)
  3. 您需要進行代理才能從 64 位應用程序訪問 32 位 dll。 在這里看到這個: http : //www.gfi.com/blog/32bit-object-64bit-environment/

我遇到了同樣的問題並像下面這樣解決了。 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");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM