调用COM问题,有经验的看看。
无法将类型为“Matter.XMPPictureClass”的 COM 对象强制转换为接口类型“Matter.IXMPControl”。此操作失败的原因是对 IID 为“{ABCDEE56-7708-4368-9D01-88BF18D5F0C4}”的接口的 COM 组件调用 QueryInte易做图ce 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。 --------------------编程问答-------------------- 你是调用哪个COM组件啊 COM组件最烦人的就是版本问题了 --------------------编程问答-------------------- 接口找不到,要么名字不对,要么参数不匹配 --------------------编程问答-------------------- 类型不对:Matter.XMPPictureClass这个类型的对象, 当作Matter.IXMPControl接口类型使用了。 --------------------编程问答-------------------- static void Main(string[] args)
{
Int32 version = 0; ;
string name="";
Matter.IXMPControl pic = new Matter.XMPPictureClass();
XMPMATTERLib.IXMPControl xmpic = new XMPMATTERLib.XMPPictureClass();
Picture zpic = new Picture();
try
{
pic.Description(out version, out name);
}
catch (Exception ex)
{
if (ex is COMException)
{
string ecode = (ex as COMException).Message;
Console.WriteLine("Error:->{0}", ecode);
Console.Read();
}
}
Console.WriteLine("Version is {0}\nName is {1}", version, name);
zpic.OptionsGetName(0, out name);
xmpic.OptionsGetName(0,out name);
Console.WriteLine("Name is {0}", name);
Console.Read();
}
这个是我调的代码,帮忙分析下! --------------------编程问答-------------------- Matter.IXMPControl pic = new Matter.XMPPictureClass();
类型前后要一致 --------------------编程问答-------------------- Matter.IXMPControl pic = new Matter.XMPPictureClass();
XMPMATTERLib.IXMPControl xmpic = new XMPMATTERLib.IXMPControl ();
Picture zpic = new Picture();
--------------------编程问答-------------------- 不行哦!会不会是COM有问题?但是COM用VC调用是正常的。 --------------------编程问答-------------------- 帮顶 --------------------编程问答-------------------- 我在顶~ --------------------编程问答-------------------- 帮 顶
补充:.NET技术 , C#