0

编辑,因为我更好地理解了这个问题。很抱歉之前混淆了 VB.NET 和 VBA

我正在探索采用大型 VBA 代码库(托管在 Excel 中)并将其作为编译代码 (vbnc) 迁移到嵌入式 Linux 的可行性。我们目前在 Windows 上构建的应用程序利用了通过 Microsoft COM 扩展 VBA 的能力。我们有可以通过这种方式访问​​的 C#.NET 类和非托管 C++ 类。

我知道单声道 vbnc 不支持通过 COM 访问外部库。还有哪些其他方法可以访问外部代码?

从 Rolf 最初的回答来看,似乎有两个:1)使用 P/Invoke 访问外部 Linux 库。我会用这个做实验。2) 将组件重写为托管代码。

考虑到我的 C#/C++ 组合,似乎最好的解决方案可能是同时使用两者。但我不清楚上面#2 的机制。是否可以指出一个例子或详细说明?我看到很多关于如何使用 P/Invoke 的示例。

再次感谢,提前!

4

1 回答 1

2

无法在 Linux 上运行 COM/OCX 组件,因此 VB.NET 无法支持。

如果你想在 Linux 上运行并且你当前是 COM/OCX,你有两个选择:

  • 找到与现有 COM/OCX 库功能相同的本地 Linux 库,然后使用 VB.NET 中的这些库(您需要使用 P/Invokes 绑定到本地库)。

  • 将 COM/OCX 组件重写为托管代码。

于 2013-05-02T09:58:37.840 回答