gpt4 book ai didi

Delphi 7 到 Delphi XE2 .res 文件问题

转载 作者:行者123 更新时间:2023-12-03 14:55:58 24 4
gpt4 key购买 nike

当我在 Delphi XE2 中打开 Delphi 7 项目并打开项目选项时,出现错误:

"Unable to set Icon: Cannot open file "........\AppName_Icon.ico".
The system cannot find the file specified".

我还注意到项目的版本信息丢失了。Delphi 7 项目有 .Res 文件,其中存储了 MAINICON 以及版本信息。为什么Delphi XE2无法使用这个.Res文件来检索MANICON和版本信息。

此外,如果我尝试在 XE2 中编译应用程序,我会收到错误 -

[BRCC32 Error] MtxReq.vrc(2): file not found: MtxReq_Icon.ico

创建 MTXReq.vrc 文件(新文件)并删除 MtxReq.res 文件。

为什么会发生这种情况?我不想丢失 .res 文件中的项目图标和版本设置。

有没有办法强制XE2使用.res文件而不删除它?

任何帮助将不胜感激。

<小时/>

抱歉,我还不能发表评论(需要更多转发点)...

Warren - 这是对您问题的答复(仅删除 .dproj 文件并仅保留 .dpr 不是更快吗?)

我删除了.dproj、.dproj.local在 XE2 中打开 .dpr,它重新创建了 .dproj 文件。它从 .res 中恢复了图标,但我丢失了项目版本信息。仅迁移文件版本和产品版本信息,但丢失所有其他版本控制信息。 (这是因为默认的 list 文件)。然后我尝试了我在解决方案的步骤 1 中解释的内容。我在记事本中打开 .dproj 文件,删除了下面的标签条目,然后重新打开 .dproj 文件,现在我的所有版本信息都已恢复。这里的问题是$(BDS)\bin\default_app.manifest。我还注意到版本信息存储在 .dproj 文件中标签下的标签中,一旦删除默认 list 条目,IDE 就会从 .

因此,基本上通过删除 .dpr 文件,我跳过了提取 .ico 文件并将其添加到项目的步骤,但必须编辑新创建的 .proj 文件并删除默认 list 的条目以检索版本信息。 (另一个解决方案是手动添加版本信息并保存项目。我没有尝试这个)

最佳答案

2015 年更新:Remy 手工仔细重新创建 .DPROJ 文件的想法是极好的建议,应该首先考虑,即使我的答案被标记为接受。 p>

XE2之前的Delphi版本在编译过程中使用资源文件作为输入和输出。例如,您的 delphi 7 项目图标嵌入在该 .res 文件中,您“希望 delphi xe2 使用该文件”,但是,这在 delphi 7 中是有问题的,现在在 XE2 中更是不可能。相反,您现在将 .res 文件视为纯粹的输出工件,与可执行文件相同。不必再将 .res 文件检查到版本控制中,也不要试图假装 .res 文件是永久存储图标的位置。它是编译器自动生成的输出文件,正如它一直应该的那样。

如果您是一名现代开发人员,Delphi 7 的旧工作方式可能会让您恼火(这确实让我恼火),因为您对如何进行版本控制有一个有趣且无法解决的问题:您是否 checkin .RES 文件,或者你不?这两种方法都有缺点,而 .RES 文件现在仅在 XE2 中作为输出工件这一事实是最好的。所以学会忍受这一点。

既然 XE2 不仅支持 PC 的图标,还支持 Mac 的图标,它必须以不同的方式处理事情,他们已经清理了这个问题。这就是您在 .ICO 文件中看到的问题的根源。我看到了完全相同的错误,我忽略了它,只是在转换后将图标添加回项目。

将 delphi 7 项目(.dpr 和 .cfg)转换为 Delphi XE2 并不像不同级别的 .dproj 文件之间的转换那么大问题 - 从 Delphi 2005、2007、2009、2010 开始的每个版本和自此开始对 dproj 格式进行了更改。当转换这些项目时出现问题时,我不会按照雷米的建议去做,因为这是浪费时间。我所做的是删除 DPROJ 并让它仅从 .dpr 文件转换。
但雷米的从头开始的建议有很多优点,包括您可以简化项目布局。

无论如何,这就是你要做的:

  1. 忽略错误。
  2. 添加图标来展示自己。
  3. 继续快乐地前进,不要担心 .res 文件被删除,这是有意的,并且有充分的理由。只要需要,就会创建一个新的。将使用 XE2 .dproj 文件的内容读取磁盘上 .ico 文件的文件名,并将其编译为 .res 文件。

关于Delphi 7 到 Delphi XE2 .res 文件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11906963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com