Windows 7 x64上的Delphi问题?

17

我搜索了一圈,但是没有找到明确的答案,只有零散的信息:如果我安装Windows seven x64,

  1. 我是否能像以前一样使用Delphi 2007+,启动它、在其中编码、调试、编译?我看到了调试器问题和十六进制编辑的解决方法。
  2. 在该环境中编译的我的应用程序是否能在32位的Windows系统上工作?
  3. 我在32位Windows上编译的应用程序是否能在这个64位版本上工作?

(当然,所有这些都假设“普通”的应用程序,即如果我玩弄指针并期望它们为32位长,那么我不指望它们能正常工作)

总体问题是,作为一个要转移到Windows seven 64位系统的人,我是否能/应该将其作为我的主要Delphi开发平台,还是最好保留32位引导用于Delphi开发?

感谢任何能给我提示的人。


我的Delphi在WinXP 64位机器上运行速度较慢。但这可能是Windows本身的问题,而不是Delphi的问题。 - Gabriel
7个回答

11

正如Mason Wheeler所说,2007/2009年的调试器在64位平台上存在问题,但可以轻松解决

我每天都在Windows 7 64位上使用D2007(带有此修复程序),它工作得非常好。


6

4
这篇博客文章已经删除了,可以在以下网址获取热修复程序:http://cc.embarcadero.com/item/27521。 - Jordy Boom

5
我不了解Windows 7的64位版本,但我已经在Windows XP 64位上使用Delphi 4、5、2007和2009将近一年了。考虑到微软花费在向后兼容性方面的努力,我认为在Windows 7上情况不应该有太大的不同。这回答了你最后一个问题-没有必要保留单独的分区。使用虚拟化来在32位系统上运行东西。据我所知,Windows 7提供了一个虚拟化的Windows XP子系统-无需额外费用,但你可能需要单独下载它。
关于第2点和第3点:应用程序编译所在的操作系统并不影响部署,只要编译本身正常即可。我只在32位Windows版本上编译16位Delphi程序,没有出现问题。然而,你应该始终在目标操作系统版本的干净安装上进行测试,因为开发人员PC与用户PC有足够的差异,不能假设一切都会顺利。这是一般建议,与64位操作系统无关。
您的Delphi程序将在Windows 64位的32位层(WOW64 - Windows on Windows 64)上运行,该层非常接近真正的32位操作系统,因此您不需要关心它,除非您与较低的系统级别密切工作。

5
昨天我在Windows 7 64位下使用Delphi 2007进行一些工作,结果遇到了灾难。每当我在调试时离开程序,无论是正常退出还是停止调试,它都会引发一个断言失败,我无法摆脱,导致整个IDE崩溃。(这种情况在XP下从未发生过。)显然WOW64仿真器并不像应该那样稳定... :(
如果你要尝试在Windows 7 64位上工作,我强烈建议升级到Delphi 2010,它专门考虑了与Windows 7的兼容性。如果这不是一个选择,那么至少安装一个带有XP的虚拟机来进行开发工作。

3
在虚拟机中开发还有一些隐藏的好处。您可以在重要的里程碑上轻松制作整个开发环境的备份副本,如果您的开发机器崩溃了,恢复只需要复制文件即可。 - skamradt

3

答案如下:

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的博客中提到的方法应用补丁,以解决调试器退出错误。

其次,安装Windows XP模式,这是一个完全干净(和合法)的Windows XP 32位虚拟机。

在Windows 7 64位上编译应用程序。将其安装到虚拟机上。它应该可以正常运行。对于您正在开发的其他应用程序,请重复这个过程。

XP模式适用于所有Windows 7专业版和旗舰版的用户。不确定企业版本是否适用。

由于我不得不对Macbook Pro进行紧急的操作系统切除手术,所以目前我正在使用这种方式进行开发。


2
我在Windows 7 Professional 64位上运行Delphi 2007,一直很好,直到前段时间的“补丁星期二”。IDE会在抛出调试错误(SetThreadContext失败)后崩溃。我应用了在http://cc.embarcadero.com/item/27521找到的补丁,问题就解决了。

希望对你有所帮助。但是由于不同情况可能导致不同结果。


Doug


0

我在Win7 64位系统上运行Delphi 7。要运行此版本的诀窍是不要安装到Program Files(x86)文件夹中,而是安装到类似C:\ Delphi7的文件夹中。我已经以这种方式使用它约一个月了,开发负载相当大,效果非常好!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接