【问题标题】:Delphi 2007 (CodeGear Delphi) locks EXE after link - (Win7 x64)Delphi 2007 (CodeGear Delphi) 在链接后锁定 EXE - (Win7 x64)
【发布时间】:2014-10-14 05:49:24
【问题描述】:

Delphi 2007 有时拥有它的链接器生成的 EXE 的句柄。有时它工作正常。但其他时候,在尝试编译或构建解决方案时,一整天都在说:“无法制作 EXE 文件”或类似的东西。

当我尝试启动由 Delphi 制作的 EXE 时,它说另一个进程正在保存该文件。去“解锁”说:bds.exe。即使我解锁它,我也必须将其重命名为例如。 app1.ex_ 并将其复制回 app1.exe。但是 Delphi 仍然持有那个 .ex_ 文件的句柄。

不用说它会使调试(甚至运行)和开发变得相当缓慢:不得不处理锁定的 exe...

有什么建议吗? Workaroung 或修复可用 - 我一直在寻找它,但似乎可以找到它:我确定其他人也有同样的问题(我已经看到了) - 有什么解决方法吗?

环境:Win7 Ent. x64,德尔福 CodeGear 2007

谢谢!

【问题讨论】:

  • 每次都重新启动 Delphi 不是一种选择——因为它需要很长时间(相当大的项目)。还看到了 Win“应用程序体验”和在该文件夹上禁用索引的解决方案:对我不起作用。如果有人觉得它有用,这里会描述它:fatal-error-cannot-create-output-file-project1-exe
  • 重启Delphi。你还要做什么?您可以要求 CodeGear 发布更新。但你肯定意识到这是徒劳的。
  • @bummi1 - 请在回复之前阅读所有文本:我说“您的”链接中提到的“App..Expirence”解决方案不起作用。我知道那个线程,谢谢 - 我发布了相同的链接:但它对我不起作用。顺便说一句:谢谢你的反对票......我猜......?和:你为什么发布相同的链接?
  • 你也可以检查一下是否和你的杀毒有关

标签: delphi compilation linker locking


【解决方案1】:

去“解锁”说:bds.exe。即使我解锁它我也必须重命名 例如。 app1.ex_ 并将其复制回 app1.exe。但德尔福仍然是 握住那个 .ex_ 文件的句柄。

基于重命名文件会导致 BDS.exe “锁定”重命名文件这一事实,我严重怀疑 BDS.exe 实际上是持有锁定的那个。如果 BDS 将锁定该文件,您甚至无法重命名它。

所以我会严重怀疑你的防病毒软件可能是它的幕后黑手。
我什至记得几年前使用 Delphi 7 时遇到过类似的困难。当时的原因是 ma AntiVirus 软件(Nod32 版本 2)。我取消的第一个解决方法是在编译之前简单地删除应用程序 exe 文件,但后来我只是将整个文件夹添加到 AV 驻留保护忽略列表中。

所以尝试将您的项目文件夹添加到忽略列表中,看看它是否解决了问题。

【讨论】:

  • 感谢您的回复:“如果 BDS 会锁定该文件,您甚至无法重命名它。”....emm:Unlocker 会这样做:重命名文件。或者只是解锁 bds.exe,我可以通过 cmd: rename... 我会尝试使用 AV。
  • " 如果 BDS 会锁定该文件,您甚至无法重命名它。"我实际上做不到:e.i.rename 不使用像 Unlocker 这样的“系统”工具,它指向 bds.exe ...
  • 不使用“unlocker”可以删除文件吗?
  • @SilverWarrior:感谢您的回复。没有。它总是指向 bds.exe。 AV:关闭——同样的事情。
  • >>所以尝试将您的项目文件夹添加到忽略列表中,看看是否可以解决问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-19
  • 1970-01-01
  • 2011-12-19
  • 1970-01-01
  • 2015-06-10
  • 2011-07-17
相关资源
最近更新 更多