【发布时间】:2011-09-13 22:58:31
【问题描述】:
我有一个用 VB6 构建的程序,并使用了一些 32 位 DLL's。这个程序会在 64 位机器上运行吗?这个page 建议它应该在 Windows on Windows 层上运行良好,但是 DLL 的呢?
【问题讨论】:
标签: vb6 64-bit 32bit-64bit 32-bit
我有一个用 VB6 构建的程序,并使用了一些 32 位 DLL's。这个程序会在 64 位机器上运行吗?这个page 建议它应该在 Windows on Windows 层上运行良好,但是 DLL 的呢?
【问题讨论】:
标签: vb6 64-bit 32bit-64bit 32-bit
微软是still supporting the VB6 runtime on 64-bit windows
是的,它有效,如果您有任何问题,他们会帮助您。
【讨论】:
是的,VB 6 程序和 DLL 都可以在 64 位版本的 Windows 上正常工作。
由于两者都是 32 位,它们将在 Windows-on-Windows 64 (WoW64) subsystem 下运行,它有效地在 64 位版本的 Windows 上模拟 32 位操作系统。
我自己也顺利运行过许多这样的程序。
除了资源管理器扩展和内核模式驱动程序(您都没有在 VB 6 中编写过)之外,您可能遇到的任何兼容性问题几乎肯定是您自己的代码中的错误导致的,这些错误在检测时很容易修复。当你找到它们时提出更多问题。
【讨论】:
DLL 是否也是用 VB6 构建的?还是他们是本地人?
如果您使用的是 100% VB6,那么根据我的经验,是的,它们运行时的问题往往很少(我为另一个程序维护了一些插件,这些插件主要是作为 VB6 COM 组件实现的,大约在那个时候Windows 7 出来了)。
这当然取决于您的代码正在使用哪些库,您是否正在访问诸如%PROGRAMFILES% 等位置,在本机库中调用代码。这些事情可能会导致一些小问题,但可以解决这些问题。
【讨论】: