java - 雅各布错误: Can't get object clsid from progid

标签 java com jacob ptv-vissim

我正在尝试使用 java 运行 Vissim 8(学生版),为此我使用 jacob。 现在我不确定我做错了什么,因为我是雅各布的新手。 这是我尝试运行的代码:

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Variant;

public class test {
 public static void main(String[] args) {
    // TODO Auto-generated method stub
    ActiveXComponent vis = new ActiveXComponent("Vissim.Vissim"); 
    vis.setProperty("Visible", new Variant(true));
 }

}

这是我得到的错误:

Exception in thread "main" com.jacob.com.ComFailException: 
Can't get object clsid from progid
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)
at test.main(test.java:8)

看起来它无法在注册表中找到已安装的程序(就像它没有安装或注册一样)。我尝试重新安装,但这并没有解决问题,我不知道下一步该做什么以及如何强制将 VISSIM 注册到我的注册表中。

我非常需要帮助。 :/

最佳答案

对于任何可能遇到同样困境的人,这是我的问题的答案。

经过几天的调查,我发现 VISSIM 的学生版和演示版不支持 COM 接口(interface)。因此,对这些版本无能为力。

如果您需要COM接口(interface),您可以直接向PTV索取或使用商业授权版本。我在我的教职电脑上尝试使用商业许可证,并且一切正常。

所以就这样了。 :) 希望它能帮助别人。

关于java - 雅各布错误: Can't get object clsid from progid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34633315/

相关文章:

java - 卡片布局错误: wrong parent for card layout

c++ - SndVol 如何改变给定 Audio Session 的音量级别?

c++ - 如何在 Visual Studio 2012 中创建 HelloWorld COM Interop

Java JACOB 检索给定 Win32_* 类对象的所有属性

java - 奇怪的 Clojure Box - 库 (dll) 问题

java - 斯坦福神经网络依赖解析器 : Unrecoverable error while loading a tagger model

java - 无法启动 Activity ComponentInfo {com.example.list/com.example.list.editbox} : java. lang.NullPointerException

com - 使用 COM 服务器的并排错误,安装了 C++ 可再发行组件

java - 使用 Jacob 和 WMI 编写更好的代码

java - 如何在java中的while循环中将数字放入数组?