0

在尝试从 64 位机器(具有 64 位 JAVA 和 ECLIPSE)中连接 HPQC 时,我得到了下面提到的异常:

线程“主”com4j.ExecutionException 中的异常:com4j.ComException:80040154 CoCreateInstance 失败:类未注册:com4j.ComThread.execute(ComThread.java:203) 处的 .\com4j.cpp:153 com4j.Task.execute(Task .java:25) 在 com4j.COM4J.createInstance(COM4J.java:97) 在 com4j.COM4J.createInstance(COM4J.java:72) 在 com.qc.ClassFactory.createTDConnection(ClassFactory.java:16) 在 com.java .Test.main(Test.java:25) 原因:com4j.ComException:80040154 CoCreateInstance 失败:类未注册:com4j.Native.createInstance(Native Method) 处 com4j.COM4J$CreateInstanceTask 处的 .\com4j.cpp:153。 call(COM4J.java:117) at com4j.COM4J$CreateInstanceTask.call(COM4J.java:104) at com4j.Task.invoke(Task.java:51) at com4j.ComThread.run0(ComThread.java:153) at com4j.ComThread.run(ComThread.java:134)

PFB我的代码:

public static void main(String[] args) { // TODO 自动生成的方法存根

    //QC url
    String url = "https://qc_link/qcbin";
    //username for login
    String username = "username";
    //password for login
    String password = "password";
    //domain
    String domain = "domain";
    //project
    String project = "project";

    ITDConnection itdc = ClassFactory.createTDConnection();

    System.out.println("Connecting");

    itdc.initConnectionEx(url);
    itdc.connectProjectEx(domain, project, username, password);

    System.out.println("Connected......");
}

}

上面的代码适用于 32 位 Java 和 Eclipse。

任何帮助将不胜感激。

问候,段落

4

2 回答 2

1

COM API 只有 32 位,不能被 64 位进程访问。我在 .NET 应用程序中遇到了同样的问题,我一直停留在 32 位,直到我可以移动到 REST API(它是无位的)或在外部进程中托管我的依赖于 COM 的代码。

于 2014-07-01T02:49:21.597 回答
-2

可以通过在 c:\Windows\SysWow64 中注册所有 3 个 .dll 文件来解决此问题。而不是 c:\Windows\System32。

希望它可能会有所帮助:)

于 2016-02-02T06:59:11.757 回答