【问题标题】:Delphi 10.3 compilations using DCC32 have the old Delphi 5 visual style使用 DCC32 的 Delphi 10.3 编译具有旧的 Delphi 5 视觉风格
【发布时间】:2020-10-28 16:06:40
【问题描述】:

几周前,我们公司从 Delphi 5 迁移到 Delphi 10.3 Rio。在一些问题之后,我们已经达到了使用新 IDE 编译我们的解决方案(许多 EXE)的目标。我们每天都在使用 DCC32 编译我们的项目。

很遗憾,他们中的一些人遇到了视觉问题。他们使用的是 Delphi 5 中的旧 VCL 视觉风格,而其他人则使用较新的风格。

经过大量研究,我们注意到每个可以工作的可执行文件都有一个清单(感谢 ResourceEditor.exe),但其他不工作的可执行文件没有任何清单。

项目看起来非常相似,没有强制清单文件,相同的编译方式,相同的资源生成器。

似乎在生成过程中使用了位于 Embarcadero 目录中的默认清单 (default_app.manifest)。

有人知道为什么有些 EXE 包含此默认清单,而有些则没有吗?

编辑:

谢谢大家的回复,我有点晚了,但我已经设法解决了我的问题。 不幸的是,我们的一个图书馆在他的一个 res 文件中拥有一个清单。但是我们的一些应用程序不使用这个库并且有这个问题。

对于那些指出 IDE 解决方案的人,我们使用 dcc32 编译,如果我错了,请告诉我,不要使用指定运行时主题的 dproj 文件。 IDE 解决方案运行良好,但由于我们使用 dcc32 编译,因此无法使用。

【问题讨论】:

  • OT:您应该考虑使用 MSBuild 而不是 dcc32 来构建您的项目。这是多年来的“官方”方式。
  • 您是否只是在新的 10.3 IDE 中打开旧的 D5 项目并让它为您迁移它们?这种迁移很少是顺利的,通常会有副作用(错误的设置、缺少/不正确的引用等)。您永远不应该让 IDE 为您迁移旧项目。始终以全新的方式创建新项目,然后根据需要将现有的源文件添加到其中。
  • 这是由于运行时主题未启用(因为它们在 Delphi 5 中不存在)。转到项目->选项->应用程序->清单并选中“启用运行时主题”

标签: delphi compilation vcl dcc32


【解决方案1】:

这可能是未选择“启用运行时主题”选项(项目/选项/应用程序/清单)的问题。

【讨论】:

  • Imo,最好在评论中询问这是否适用于 OP 的来源。未经询问就发布作为答案只能是猜测......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多