【问题标题】:Will a Visual Basic 6 program run on a 64-bit machine?Visual Basic 6 程序可以在 64 位机器上运行吗?
【发布时间】:2011-09-13 22:58:31
【问题描述】:

我有一个用 VB6 构建的程序,并使用了一些 32 位 DLL's。这个程序会在 64 位机器上运行吗?这个page 建议它应该在 Windows on Windows 层上运行良好,但是 DLL 的呢?

【问题讨论】:

    标签: vb6 64-bit 32bit-64bit 32-bit


    【解决方案1】:

    微软是still supporting the VB6 runtime on 64-bit windows

    是的,它有效,如果您有任何问题,他们会帮助您。

    【讨论】:

      【解决方案2】:

      是的,VB 6 程序和 DLL 都可以在 64 位版本的 Windows 上正常工作。

      由于两者都是 32 位,它们将在 Windows-on-Windows 64 (WoW64) subsystem 下运行,它有效地在 64 位版本的 Windows 上模拟 32 位操作系统。

      我自己也顺利运行过许多这样的程序。

      除了资源管理器扩展和内核模式驱动程序(您都没有在 VB 6 中编写过)之外,您可能遇到的任何兼容性问题几乎肯定是您自己的代码中的错误导致的,这些错误在检测时很容易修复。当你找到它们时提出更多问题。

      【讨论】:

        【解决方案3】:

        DLL 是否也是用 VB6 构建的?还是他们是本地人?

        如果您使用的是 100% VB6,那么根据我的经验,是的,它们运行时的问题往往很少(我为另一个程序维护了一些插件,这些插件主要是作为 VB6 COM 组件实现的,大约在那个时候Windows 7 出来了)。

        这当然取决于您的代码正在使用哪些库,您是否正在访问诸如%PROGRAMFILES% 等位置,在本机库中调用代码。这些事情可能会导致一些小问题,但可以解决这些问题。

        【讨论】:

        • 有问题的DLL来自DynaZIP,这让我很担心。我已更新 OP 以包含 DLL 名称。
        • 我相信你会没事的。正如 Cody Gray 所指出的,它将在 WoW64 下运行,虽然他听起来比我乐观一些,我自己也被烧了几次,但这归结为原始开发人员缺乏远见和潜入的错误因此。很有可能您遇到的任何错误之前已经以某种方式处理过,我相信您会在 SO 上找到好的答案:)
        • 好的。谢谢你的安慰。 :)
        猜你喜欢
        • 2011-01-14
        • 1970-01-01
        • 2010-09-08
        • 1970-01-01
        • 2010-10-01
        • 2023-03-30
        • 2014-11-02
        • 2014-06-20
        相关资源
        最近更新 更多