0

我想在 win32 (C++) 中使用 VB.NET 代码(我不想转换我的代码)。我听说过在 COM 中包装 VB 代码,但我不知道该怎么做。另外,我不知道是否有替代(或更好)的方式来移植代码。

任何帮助表示赞赏。

更新:我在vb中创建了一个类库,并将comvisible属性设置为true后将其保存为dll,然后将其导入我的c++项目并通过COM访问接口

*谢谢大家帮助我!!!!!!!*

4

2 回答 2

1

您不能直接从本机 C++ 应用程序调用 .NET 代码,因此需要进行一些工作。

当然,您的问题让我们猜测您为什么要这样做,但除非您仍将使用 .NET 应用程序中的库,否则我将强烈支持移植它(如您的标题建议)到 C++。

但是,如果您不想这样做,您还有其他几个选择:

  1. 使用 C++/CLI 围绕 VB.NET 代码编写一个包装器。这可能是更简单的解决方案,特别是如果您相当熟悉 VB.NET 和 C++ 语言。

  2. <ComVisible(true)>使用属性将所需的 VB.NET 方法公开为 COM 函数。这将有点棘手,特别是如果您对 C++ 中的 COM 编程感到不舒服或不熟悉。在堆栈溢出答案中解释太多了;调查购买一本关于 COM 编程的好书。尽管您使用的是 VB.NET,但 C# 的步骤基本相同,因此您会更幸运地找到示例

于 2013-07-20T12:54:14.240 回答
-1

您不能直接将 VB 移植到 C++,但如果您只想切换到更强大的语言并仍然使用 GUI 库,您可以查看 C#。它使用非常相似的代码,并且快速的谷歌搜索为我提供了这个程序:C#转换器。如果您真的需要 C++,那么您可能可以将 C# 代码转换为 C++,但实际上不需要这样做,因为 C# 非常接近 C++。只是谷歌搜索,我发现了这个:C++ 转换器

我希望这能帮到您。

于 2013-07-20T22:49:17.193 回答