delphi - Delphi - 编译的EXE图标错误,无法更改
问题描述
在我使用 Delphi 的 15 年以上经验中,我第一次遇到这个奇怪的问题。这是我在项目选项(XE4)中设置的图标:
这是编译后生成的应用程序图标:
我不知道那个图标是从哪里来的,我也没有办法改变图标(真的让我发疯)。
该项目的图标已经使用了一年多,直到今天晚些时候。我没有运气尝试过的事情:
- 使用“加载图标...”按钮将其更改为另一个完全不同的图标并重新构建。
- 使用“默认”按钮重置为默认图标并重新构建。
- 删除
project1.res
文件并重新构建。 - 删除
.dproj
文件,打开.dpr
文件,让 Delphi IDE 创建一个空白的新.dproj
文件。没运气。 - 我认为这是 Windows 7 的
IconCache.db
文件损坏,删除该文件并重新启动 Windows,没有帮助。实际上,我使用 Resource Hacker 确认不是 Windows 资源管理器显示错误的图标,而是 EXE 中的图标资源错误……太奇怪了。 - 将文件从 SVN 恢复
.dproj
到昨天(图标昨天还可以)的修订版,没有运气。
你还有什么建议我尝试的吗?谢谢!
解决方案
使用 .查看主表单中的行{$R *.res}
。我遇到了同样的问题,就是这条线被意外删除了。这导致该图标和其他资源在最终可执行文件中不正确,例如版本号、图标等。
如果您不知道该行是什么,只需创建几个空的新 vcl 应用程序并在主窗体中搜索它。
推荐阅读
- python - python在列表中查找相似性
- android-studio - 为什么 React-Native android 应用程序大小如此之大?
- jquery - 需要找到一个元素的 id 然后将其用作变量来运行一些 html
- c++ - VertexBuffer 让顶点混合
- python - 类型错误:add_widget() 缺少 1 个必需的位置参数:“屏幕”
- google-cloud-platform - 为来自特定位置的用户优化 Google Cloud DNS
- c - 矩阵中N步的最长路径
- r - 将毫秒数转换为时间 MM:SS 然后求和
- python - 如何基于相同的 DataFrame 制作 2 个变量的条形图,我想选择 2 个或直到 5 个数据
- javascript - 逐一填充时删除数组中的重复对象