查询接口失败
我在 1.1 VB.NET 代码中使用互操作 COM 程序集,当我尝试设置类的属性时,我收到一个 InvalidCastException
,其中包含消息“QueryInterface for Interface ...失败了。”
对此有什么想法吗?
I'm using an interop COM assembly in my 1.1 VB.NET code, and when I try to set a property of a class, I get an InvalidCastException
with the message "QueryInterface for Interface … failed."
Any ideas on this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,确保您的 COM 组件已向 regsvr32.exe 注册。
然后,确保还注册了任何必要的编组支持 - 这些支持有两种:
1) 代理/存根 DLL,通常称为ps.dll - 也使用 regsvr32.exe 注册它
2) 关联类型库 -- 使用 regtlib.exe 注册它
如果您在 DLL 上使用了 tlbimp,请尝试使用 regtlib 来注册 DLL 类型库。
First, make sure your COM component is registered with regsvr32.exe.
Then, make sure any necessary marshalling support is also registered -- these come in one of two kinds:
1) proxy/stub DLL, usually called <YourComponent>ps.dll -- register this too with regsvr32.exe
2) Associated type library -- register this with regtlib.exe
If you used tlbimp on your DLL, try using regtlib to register the DLLs type library.