我最近几个月的Delphi安装出了些问题。每次发布版本时,总是会出现一些奇怪的错误,但如果我进行构建、编译、构建、编译等操作就可以解决这些错误。
我和另一个开发者谈过,他认为这是编译器错误。我们也曾在其他电脑上遇到过类似逐渐性能下降的情况。
Stack Overflow认为可能是什么问题?
我最近几个月的Delphi安装出了些问题。每次发布版本时,总是会出现一些奇怪的错误,但如果我进行构建、编译、构建、编译等操作就可以解决这些错误。
我和另一个开发者谈过,他认为这是编译器错误。我们也曾在其他电脑上遇到过类似逐渐性能下降的情况。
Stack Overflow认为可能是什么问题?
我最常见到的情况是同一单元/DCU的多个版本存在于不同的文件夹/路径中,根据几乎微不足道的差异,编译器/链接器使用不同的路径并选择不同版本的单元来构建exe。
我会进行大规模的清理,检查lib/search路径,删除所有DCUs,并确保没有任何单元的重复版本。
同意,重新安装Delphi可以帮助开始一个干净的状态。
我同意@François关于DCUs的观点,但也想指出一个观察结果:有时候在构建当前项目之前构建的内容很重要。例如,如果您有几个项目包含源代码,这些源代码会在公共目录中创建各种.dcu / bpl文件,但您所关心的项目没有明确要求重新构建它们,那么您将得到其中的任何内容。如果在构建之前清除dcus / dcps,然后发现您的项目无法构建,则说明您在某个地方缺少了uses / requires子句。每个项目都应该能够在“干净”的状态下构建,而不是依赖残留的二进制文件。
虽然信息不多,但听起来像是“位腐败”的典型案例。太多的东西在一个设计不良的操作系统下相互作用了太长时间,导致奇怪的数据损坏形式。
首先我会卸载 Delphi 并重新安装。如果这样还不行,尝试重新安装 Windows。(如果它已经存在足够长的时间,以至于出现这种情况,你可能需要重新安装操作系统。)如果这些都不行,请联系 Embarcadero 技术支持。