Windows 7 x64上的Delphi问题?
Posted
技术标签:
【中文标题】Windows 7 x64上的Delphi问题?【英文标题】:Delphi issues on windows 7 x64? 【发布时间】:2010-11-29 17:53:31 【问题描述】:我四处搜索,但找不到这些问题的直接答案,只有零碎的部分:如果我安装 Windows 7 x64, 1 - 我是否能够使用delphi 2007+,因为我习惯于启动它、在其中编写代码、在其中调试、在其中编译?我已经看到调试器问题和十六进制编辑解决方法。 2 - 我在该环境中编译的应用程序可以在 32 位版本的 Windows 上运行吗? 3 - 我在 32 位 Windows 上使用 delphi 编译的应用程序可以在这个 64 位版本上运行吗?
(当然,所有这些都是假设“正常”的应用程序,因为我不希望事情能够正常工作,如果我正在使用期望它们是 32 位长的指针,显然)
总体问题是,作为一个正在迁移到 Windows 7 64 位的人,我是否能够/应该将其用作我的主要 delphi 开发平台,还是我最好保持 32 位启动德尔福开发?
感谢任何能给我提供线索的人
【问题讨论】:
我的 delphi 在 WinXP 64 位机器上速度较慢。但它可能是 Windows 本身,而不是 Delphi。 【参考方案1】:不知道 Windows 7 64 位版本,但我已经在 Windows XP 64 位上使用 Delphi 4、5、2007 和 2009 将近一年了,考虑到微软在向后兼容性方面付出的努力,我没有看到为什么 Windows 7 上的情况会有很大不同。这回答了您的最后一个问题 - 无需保留单独的分区。使用虚拟化在 32 位系统上运行事物。 Windows 7 AFAIK 是否为您提供虚拟化的 Windows XP 子系统 - 免费,但您可能需要单独下载。
关于 2. 和 3.:编译应用程序的操作系统与部署无关,只要编译本身有效。我只在 32 位 Windows 版本上编译过 16 位 Delphi 程序,没有问题。但是,您应该始终 测试您的目标操作系统版本的干净安装,因为开发人员 PC 与用户 PC 有很大的不同,因此不能假设一切都会正常工作。不过这是一般建议,与 64 位操作系统无关。
您的 Delphi 程序将在 Windows 64 位的 32 位层 (WOW64 - Windows on Windows 64) 上运行,该层与真正的 32 位操作系统足够接近,您无需关心它,除非您与较低的系统级。
【讨论】:
【参考方案2】:我昨天在 Windows 7 64 位下的 Delphi 2007 上做了一些工作,结果是一场灾难。每次我在调试时离开程序,无论是通过正常退出还是通过停止调试器,都会引发我无法摆脱的断言失败,从而导致整个 IDE 崩溃。 (这在 XP 下从未发生过。)显然 WOW64 模拟器并不像它应该的那样稳定...... :(
如果您要尝试在 64 位 Windows 7 上工作,我强烈建议升级到 Delphi 2010,它是专门为符合 Windows 7 而构建的。如果这不是一个选项,那么至少安装一个带有 XP 的 VM 用于您的开发工作。
【讨论】:
在虚拟机中开发也带来了一些隐藏的好处。您可以轻松地在重大里程碑时制作整个开发环境的备份副本,如果您的开发机器崩溃了,只需一个文件副本即可恢复运行。【参考方案3】:正如 Mason Wheeler 所说,2007/2009 调试器和 64 位平台存在问题,但很容易出现fixed。
我每天都在 Windows 7 64 位上使用 D2007(带有此修复程序),效果很好。
【讨论】:
【参考方案4】:现在有a hotfix for this。
【讨论】:
这篇博文现在已经没有了,补丁可以在:cc.embarcadero.com/item/27521 谢谢@Jordy;我修复了链接。【参考方案5】:答案是:
1. Yes - With the workaround for the debugger issue
2. Yes - Delphi 2007 (native) will only build 32 bit applications
3. Yes - Unless it's a Device Driver or low-level service
首先应用Olaf's Blog 中提到的补丁。这修复了调试器退出错误。
其次,安装Windows XP Mode,这是一个完全干净(合法)的Windows XP 32位虚拟机。
在 Windows 7 64 位上编译应用程序。安装到虚拟机上。它应该可以工作。冲洗、起泡并重复您正在开发的其他应用程序。
Windows 7 专业版和旗舰版的所有所有者都可以使用 XP 模式。不知道企业版。
这是我目前用于开发的工具,因为我必须对 Macbook Pro 执行紧急 OS 切除术
【讨论】:
【参考方案6】:我在 Windows 7 Professional 64 位上运行 Delphi 2007,在不久前的周二发布补丁之前它还不错。抛出调试错误(SetThreadContext 失败)后,IDE 将死机。我应用了在http://cc.embarcadero.com/item/27521 找到的补丁,没有更多问题。
HTH。 YMMV。
道格
【讨论】:
【参考方案7】:仅供参考,我在 Win7 64 位上运行 Delphi 7。运行此版本的技巧是不要安装到 Program Files(x86) 文件夹 - 而是安装到 C:\Delphi7 之类的文件夹。以这种方式使用它大约一个月了,开发负载非常重,效果很好!
【讨论】:
以上是关于Windows 7 x64上的Delphi问题?的主要内容,如果未能解决你的问题,请参考以下文章
Delphi 在 Windows 7 64 上使用 LockFile
Windows 7 x64 上带有 libNFC 的 RFIDIOt
Windows 7 的任务栏上的 Delphi 表单图标模糊(启用 MainFormOnTaskbar)
Visual Studio、Windows 7 x64 中的“生成 Win32 资源时出错”