升级VB6后的E_NOINTERFACE

问题描述 投票:1回答:1

升级基于VB 6的应用程序以显示COM接口后,针对先前版本构建的COM客户端(在.NET中)收到E_NOINTERFACE错误。

错误消息(已翻译),

无法将类型为AProduct.AClass的COM对象转换为类型为AProduct._AClass的接口...

这里出了什么问题?

E_NOINTERFACE错误的原因是什么?

I thought一旦接口发布到COM,就不能更改;应该发布可以继承旧接口的新接口(具有唯一的UUID),因此我认为该接口可能已不正确地更新(扩展)。

vb.net com vb6 vb6-migration
1个回答
1
投票

您的VB 6.0项目中的“版本兼容性”设置是什么? (请参阅项目属性的“组件”选项卡)

如果不是二进制兼容性,则在编译DLL时可能已更改了组件公开的接口和事件的GUID。

查看这些资源以获取更多信息

How To Use Project and Binary Compatibility

Setting up a COM component project in Visual Basic 6.0

© www.soinside.com 2019 - 2024. All rights reserved.