情况:我成功使用com4j和java连接到我的QC
Java代码:
ITDConnection itdc= ClassFactory.createTDConnection();
System.out.println(itdc.connected());
itdc.initConnectionEx(url);
System.out.println(itdc.connected());
itdc.connectProjectEx(domainName, projectName, userName, password);
// project name
System.out.println(itdc.projectName());
但是我不能从物体上进行任何投射
ITestFactory itf=(ITestFactory) itdc.testFactory();
这失败了
线程“主”
java.lang.ClassCastException: $Proxy11
中的异常无法强制转换为test.ota.ITestFactory
请帮忙
最佳答案
您不能直接转换COM对象。请改用对象的queryInterface方法:
TargetType castObject = myObject.queryInterface(TargetType.class);
请参阅中的
Casting and QueryInterface
http://com4j.java.net/runtime-semantics.html