【问题标题】:Delphi - Icon of compiled EXE is wrong and cannot be changedDelphi - 编译的EXE图标错误,无法更改
【发布时间】:2019-12-23 14:04:56
【问题描述】:

在我 15 多岁的 Delphi 使用经验中,我第一次遇到这个奇怪的问题。 这是我在项目选项(XE4)中设置的图标:

这是编译后生成的应用程序图标:

我不知道那个图标是从哪里来的,而且我无法更改图标(真的让我抓狂)。

这个项目的图标已经用了一年多,直到今天晚些时候。我尝试过的事情运气不佳

  • 使用“加载图标...”按钮将其更改为另一个完全不同的图标并重新构建。
  • 使用“默认”按钮重置为默认图标并重新构建。
  • 已删除project1.res 文件并重新构建。
  • 删除了.dproj文件,打开.dpr文件,让Delphi IDE创建一个空白的新.dproj文件。不走运。
  • 我以为是 Windows 7 的 IconCache.db 文件损坏,删除该文件并重新启动 Windows,没有任何帮助。其实我用 Resource Hacker 确认不是 Windows Explorer 显示错误的图标,而是 EXE 中的图标资源错误……太奇怪了。
  • .dproj文件从SVN恢复到昨天(昨天图标没问题)的修改,没有运气。

你还有什么建议我尝试的吗?谢谢!

【问题讨论】:

  • 主图标是按字母顺序排序时名称最先出现的图标。使用资源劫持器检查 exe 并查看是哪个图标。它可能来自您最近添加的代码。
  • @DavidHeffernan Resource Hacker显示EXE里只有3个图标,而且都一样,截图:screenpresso.com/=MIPyg

标签: delphi resources icons delphi-xe4


【解决方案1】:

使用{$R *.res} 查看主表单中的行。我遇到了同样的问题,就是这条线被意外删除了。这导致该图标和其他资源在最终可执行文件中不正确,例如版本号、图标等。

如果你不知道那一行是什么,只需新建几个空的 vcl 应用程序并在主窗体中搜索即可。

【讨论】:

  • 你的意思是{$R *.dfm}?它存在于主窗体的 .pas 文件中。
  • 啊,没错,迭戈! {$R *.res} 指令在 .dpr 项目源文件中丢失,添加回来解决了问题!也许我今天太累了;)谢谢 Diego,David,谢谢 stackoverflow!我喜欢 Delphi 社区 :)
  • 你的版本控制系统会揭示这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-07
  • 2014-09-13
相关资源
最近更新 更多