【发布时间】:2011-06-07 23:42:19
【问题描述】:
我很难弄清楚我做错了什么,所以我想我会在 SO 上问这个问题。我正在尝试自动化测量任务(Qualcomm QXDM),因此想访问测量工具公开的 COM 接口。我编写了以下python代码,效果很好:
from comtypes.client import CreateObject
QXDM = CreateObject("QXDM.Application")
IQXDM2 = QXDM.GetIQXDM2
...
现在,由于我有一些特定的要求,我正在尝试重写这是 C#。这是我尝试过的:
using QXDM;
QXDM2Class IQXDM = new QXDM2Class();
但是当我尝试运行它时,我得到:
Retrieving the COM class factory for component with CLSID {6777AAE0-D9D2-4EA7-996B-0EECC68F97D8} failed due to the following error: 80040154.
我做错了什么?我可以在Visual Studio的对象浏览器中看到QXDM提供的所有方法和接口。
编辑:似乎后期绑定是汉斯建议的唯一方法。我将代码修改为:
Type QXDM = Type.GetTypeFromProgID("QXDM.Application");
Object QXDMObject = Activator.CreateInstance(QXDM);
这行得通。唯一的麻烦是我需要知道 QXDM 公开了哪些方法和类,我想我可以使用对象浏览器弄清楚。谢谢大家!
【问题讨论】: