【发布时间】:2012-04-19 15:29:37
【问题描述】:
我正在 VB.NET 2010 中编写一个 COM DLL(我们称之为 DLL A)。此 DLL 使用预先存在的 DLL (DLL B) 中的函数。当我从 VS2010 中的测试应用程序运行代码时,一切正常。
(测试应用程序)-->(DLL A)-->(DLL B)
现在我在真正的 APP(在 VB6 中)中添加对 DLL A 的引用
(真实应用)--> (DLL A)--> (DLL B)
...我收到此错误
无法将“System.__ComObject”类型的 COM 对象转换为接口类型“Object.class”。此操作失败,因为对具有 IID '{GUID}' 的接口的 COM 组件上的 QueryInterface 调用失败,原因是以下错误:不支持此类接口(HRESULT 异常:0x80004002 (E_NOINTERFACE))。
DLL A 确实被初始化了,但是一旦我调用一个引用 DLL B 的函数,它就会出错。
帮助!
【问题讨论】:
-
您使用的是 x86/x64 还是两者都使用?
-
DLL B 也是基于 .NET 还是老式 COM?