我正在尝试使用 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/