【发布时间】:2011-12-12 04:57:20
【问题描述】:
在我的 Visual Basic 代码中调用 C++ 构造函数时遇到问题。 DLL 已正确导入,但这一行尤其给我带来了麻烦:
Dim myobj As New MyObject("param1", "param2", "param3")
以及对应的C++构造函数:
MyObject::MyObject(System::String ^ p1, System::String ^ p2, System::String ^ p3)
有什么建议吗?
【问题讨论】:
-
您看到了什么错误或结果?
-
“编译错误:语法错误”
-
VBA 不支持带参数的构造函数。
-
COM 不支持带参数的构造函数。
-
VB 只支持 VB 类和 COM 对象。您将不得不将 DLL 重新写入一个完整的 COM 对象(或编写一个单独的 COM 包装 DLL 以在内部访问原始 DLL)。 COM 对象不允许构造函数参数,因此它必须公开一个公共方法,您可以在创建对象后调用该方法以将您的值传递给。