【问题标题】:Using a VB.NET DLL file in C++ - class is abstract在 C++ 中使用 VB.NET DLL 文件 - 类是抽象的
【发布时间】:2025-11-20 18:45:03
【问题描述】:

我创建了一个 VB.NET DLL 文件,我在一个非托管 C++ 项目中使用它。

当我尝试创建该类的对象时,出现错误:

无法实例化抽象类

为什么我的课程是抽象的?如何修改它使其不抽象?

【问题讨论】:

  • 您是如何在项目中使用 DLL 的?请在您实际从 DLL 创建对象的位置发布代码。
  • CComPtr pIWSconnection; pIWSconnection = pIWSconnection.CoCreateInstance(__uuidof(IWSconnection));我以为这创建了一个对象,但是当我尝试从 dll 调用方法时 - pIWSconnection.connect(...);我收到一个错误,指出 pIWSconnenction 是一个未声明的标识符所以我添加了这一行:IWSconnection pIWSconnection;这产生了上述错误...非常感谢!

标签: c++ vb.net abstract-class dllimport


【解决方案1】:

它不是这样工作的,你必须用 C++ 编写 COM 代码才能使用它。仔细查看#import directive 及其创建的智能指针。

【讨论】: