如何将ActiveX网格控件(VB6)重新编译为64位OCX?

时间:2013-05-22 09:32:16

标签: vb6 64-bit activex vb6-migration

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

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

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

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

2 个答案:

答案 0 :(得分:1)

我很遗憾地说,用VB6创建64位控件是不可能的。

一种解决方法可能是在VB.NET中创建一个64位用户控件,然后使用互操作来托管你的32位控件,但它是一个糟糕的kludge并不值得努力。

答案 1 :(得分:0)

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