首页 > 解决方案 > Compiling\Building Delphi project on XE7 throws error - 无法访问文件 tmpXXXX.tmp.Exec.bat 因为它正在被使用

问题描述

在 XE7 中编译或构建 Delphi 项目时,我团队中的大多数成员都会遇到以下错误。

[执行错误] 指定的任务可执行文件无法运行。该进程无法访问文件“C:\Users\bond\AppData\Local\Temp\tmpE277.tmp.Exec.bat”,因为它正被另一个进程使用。

在下一次运行时,另一个tmpXXXX.tmp.Exec.bat文件会出错。

这里的问题是,如果我们再次尝试编译构建,它可能会成功。

但大多数时候,我们必须至少尝试 5 到 6 次。

有时,无论我们尝试多少次,错误都会不断出现。

有人可以帮助解决这个问题吗?

标签: delphidelphi-xe7

解决方案


一种 100% 有效的解决方法是让您的 CPU 非常忙碌。我在 SQL Server 的 3 个单独线程中运行此特定查询。

DECLARE @T DATETIME, @F BIGINT;
SET @T = GETDATE();
WHILE DATEADD(SECOND,120,@T)>GETDATE()
SET @F=POWER(2,30);

2 到 30 的幂是 CPU 繁重的功能,在 3 个线程中运行它会使我的 CPU 超过 90%。在 CPU 非常繁忙时构建 Delphi 项目以某种方式克服了tmpXXX.tmp.Exec.bat 正在使用的问题。

我不知道为什么,可能是锁定 Temp 文件夹的杀毒软件没有获得足够的 CPU。但无论如何,这一直有效


推荐阅读