4

自 2000 年以来,我们一直致力于我们的ActiveX 网格控件,并拥有很多满意的客户。该控件仍然受支持,但我们和我们的客户最近面临的主要问题是我们的网格控件被广泛使用的 64 位版本的 MS Office VBA。问题是我们的 OCX 在开发时是 32 位的/在不能产生 64 位代码的 Visual Basic 6 中编译 - 至少在其原始形式中。

问题是:有没有办法将我们现有的 VB6 项目重新编译为 64 位 ActiveX 控件?是否可以使用 VB6 IDE 的加载项或修改从 VB6 做到这一点,或者是否有其他工具,如命令行编译器?也许,像 RealBasic 这样可以生成 64 位代码的另一个开发环境?

当然我们知道源代码(主要是 API 调用)也应该更新,但是在这个问题中,我们询问从 VB6 源代码创建 64 位可执行 OCX 的一般可能性。

即使在发布之日起几个月后,也可以随意发布有关该问题的任何想法。

4

2 回答 2

1

很抱歉,用 VB6 创建 64 位控件根本不可能。

一种解决方法可能是在 VB.NET 中创建一个 64 位用户控件,然后使用互操作在其中托管您的 32 位控件,但这是一个糟糕的组合,不值得付出努力。

于 2013-09-17T11:04:42.237 回答
0

这个问题的唯一希望和可能的解决方案是RAD Basic项目。运行此开发的 Carles Royan 正在尽最大努力为我们提供为 64 位平台编译 ActiveXs 的能力。也许,我们将在 2021 年下半年看到能够执行此操作的 RAD Basic 的 alpha 版本。当这种情况发生时,我会更新这个答案。

于 2021-04-21T16:00:38.257 回答