几周前,我们公司从 Delphi 5 迁移到 Delphi 10.3 Rio。在一些问题之后,我们已经达到了使用新 IDE 编译我们的解决方案(许多 EXE)的目标。我们每天都在使用 DCC32 编译我们的项目。
不幸的是,他们中的一些人遇到了视觉问题。他们使用 Delphi 5 中的旧 VCL 视觉风格,而其他人则使用较新的风格。
经过大量研究,我们注意到每个有效的可执行文件都有一个清单(感谢 ResourceEditor.exe),但其他不工作的可执行文件没有任何清单。
项目看起来非常相似,没有强制清单文件,相同的编译方式,相同的资源生成器。
似乎default_app.manifest
在生成期间使用了位于 Embarcadero 目录中的默认清单 ()。
有谁知道为什么某些 EXE 包含此默认清单而其他 EXE 没有它?
编辑:
谢谢大家的所有回复,我有点晚了,但我已经设法解决了我的问题。不幸的是,我们的一个图书馆在他的一个 res 文件中拥有一个清单。但是我们的一些应用程序不使用这个库并且有这个问题。
对于那些指出 IDE 解决方案的人,我们使用 dcc32 编译,如果我错了,请告诉我,不要使用指定运行时主题的 dproj 文件。IDE 解决方案运行良好,但由于我们使用 dcc32 编译,我们无法使用它。