接口的查询接口失败

时间:2011-03-31 17:12:58

标签: com interface

我在我的1.1 VB.NET代码中使用了一个内联COM程序集,当我尝试设置该类的属性时,我收到一条INvalidCastException错误,并显示消息“接口xxx的QueryInterface失败”。还尝试使用regsvr32和regasm方法注册com文件..没有任何工作返回错误它无效.NET程序集...请帮助我专家

http://www.filefactory.com/file/ca7a55e/n/error.jpg

我附加了错误截图.. interop.peachwserver.dll是com对象.. Smtpmailer是项目... peachtreeloginsingleton是从com继承登录类的类名

1 个答案:

答案 0 :(得分:1)

如果未注册服务器,则无法获得此异常。如果您认为自己有注册问题,请与组件供应商或作者联系,以了解正确的过程是什么样的。负责处理它的安装人员是常态。

当您用于创建互操作库的类型库与COM服务器的实际安装版本不匹配时,QueryInterface将失败。一个相当典型的DLL Hell案例。角落案例试图在线程中使用服务器。这需要注册服务器的代理/存根。这通常是不可用的。唯一的解决方法是仅调用创建对象的线程中的方法。此方案也最好通过组件供应商进行验证。