我有一个为 COM Interop 注册的 .NET 库,我从 VB6 代码中成功使用了它(因此,它已正确注册,这不是问题)。
发生的事情是我试图通过 C++ 代码(一个 MFC ActiveX 控件)使用同一个库,我什至无法实例化该对象(是的,它有一个无参数的构造函数)。
想象命名空间是Foo并且类的名称是Bar。我将如何实例化这样的对象?我正在尝试这个:
在 .h 文件上:
Foo::Bar *obj;
在 .cpp 文件的 ActiveX 控件的构造函数上:
obj = new Foo::Bar();
我收到以下错误:
- «不完整的类型是不允许的"»;
- «错误 C2027:使用未定义类型 'Foo::Bar'»。
所以基本上我的问题是:如何从 C++ 代码中使用 .NET COM 互操作对象?