我想在win32(C ++)中使用VB.NET代码(我不想转换我的代码)。我听说过在COM中包装VB代码,但我不知道怎么做。此外,我不知道是否有替代(或更好)的方式移植代码。
任何帮助都会得到赞赏。
更新:我在vb中创建了一个类库,并在将comvisible属性设置为true后将其保存为dll,然后将其导入我的c ++项目并通过COM访问接口
* 非常感谢你帮助我!!!!!!! *
答案 0 :(得分:1)
您无法直接从本机C ++应用程序调用.NET代码,因此需要完成一些工作。
当然,您的问题让我们猜测为什么您想要这样做,但除非您仍然要使用.NET应用程序中的库,否则我会很强大主张支持将它(如你的标题所示)移植到C ++。
但如果您不想这样做,您还有其他几个选择:
使用C ++ / CLI编写VB.NET代码的包装器。这可能是更简单的解决方案,特别是如果您对VB.NET和C ++语言都相当熟悉的话。
使用<ComVisible(true)>
attribute将您需要的VB.NET方法公开为COM函数。这样做会有点棘手,特别是如果你对C ++中的COM编程感到不舒服或不熟悉。在Stack Overflow答案中解释太多了;调查购买一本关于COM编程的好书。虽然您使用的是VB.NET,但C#的步骤基本相同,为此您可以更好地找到examples。
答案 1 :(得分:-1)
您无法直接将VB移植到C ++中,但如果您只想切换到更强大的语言并仍使用GUI库,则可以查看C#。它使用非常相似的代码,快速谷歌搜索为我提供了这个程序:C# converter。如果你真的需要C ++,你可能会将C#代码转换为C ++,但实际上并不需要因为C#非常接近C ++。谷歌搜索我发现了这个:C++ converter。
我希望这会对你有所帮助。