我正在VB.NET 2010中编写一个COM DLL(我们称之为DLL A)。此DLL使用预先存在的DLL(DLL B)中的函数。当我在VS2010中运行测试应用程序的代码时,一切都很好。VB.NET调用COM DLL调用另一个COM DLL的错误
(测试应用程序) - >(DLL A) - >(DLL B)
现在我在真正的应用程序添加到DLL中的一个引用(在VB6)
(真正的应用程序) - >(DLL A) - >(DLL B)
...我得到这个错误
无法投型 '系统.__ ComObject' 的COM对象接口典型 'Object.class' 。此操作失败,因为具有IID“{GUID}”的接口的COM组件上的QueryInterface调用由于以下错误而失败:没有支持此接口(来自HRESULT的异常:0x80004002(E_NOINTERFACE))。
DLL A不会被初始化,但只要我调用一个引用DLL B的函数,它就会出错。
帮助!
您是使用x86/x64还是两者兼备? – rekire 2012-04-19 15:32:48
DLL B也基于.NET还是老派的COM? – rskar 2012-04-19 16:28:46