如何从Visual Basic中调用C++构造函数

How to call C++ constructor from Visual Basic

本文关键字:调用 C++ 构造函数 Basic Visual      更新时间:2023-10-16

我在Visual Basic代码中调用C++构造函数时遇到问题。DLL已经正确导入,但这一行尤其给我带来了麻烦:

Dim myobj As New MyObject("param1", "param2", "param3")

以及相应的C++构造函数:

MyObject::MyObject(System::String ^ p1, System::String ^ p2, System::String ^ p3)

有什么建议吗?

你不能。根本不支持这种方式。

最简单的方法是将构造函数转换为函数(例如Initialize()(。

您不能-类将使用默认构造函数进行实例化。如果你需要参数化构造,你有两个选项-要么向类添加一个"initialize"参数化方法,要么添加一个带有"用这个参数实例化第一个类"方法的工厂类。

使用抽象接口并使工厂生成对象。它还将保留代码和dll之间的抽象。阅读本文http://www.codeproject.com/KB/cpp/howto_export_cpp_classes.aspx