3

我们的 delphi 2007 IDE 有一个有点烦人的问题,delphi IDE 有时会无缘无故地将 <DCC_DependencyCheckOutputName> 节点中的绝对路径更改为相对路径。

例如,在我们保存项目之前,这是写在 dproj 文件中的:

<DCC_DependencyCheckOutputName>D:\DcProgs\ProgUtils\ConvertToSmw\ConvertToSmw.exe</DCC_DependencyCheckOutputName>

并在 delphi 2007 ide 中保存后更改为

<DCC_DependencyCheckOutputName>..\..\..\ProgUtils\ConvertToSmw\ConvertToSmw.exe</DCC_DependencyCheckOutputName>

我的问题是 delphi 为什么以及何时这样做,有没有办法阻止 delphi 这样做?

您会看到我们制作了一个自定义构建脚本,它为我们的项目进行夜间构建,并在成功构建后使用 upx 打包可执行文件。要知道 exe 文件的位置,我们使用“DCC_DependencyCheckOutputName”节点,但 upx 不喜欢相对路径,所以我们需要绝对路径。如果 delphi 停止更改这一点,或者我们至少知道何时或为什么会发生这种情况,这样我们就知道在 ide 内部不应该做什么来防止这种情况发生,那就太好了。

有任何想法吗 ?

4

1 回答 1

3

当项目和引用的文件位于同一驱动器上时,IDE 会执行此操作。

Delphi 试图帮助您使用相对路径创建项目和引用,因此您可以更轻松地在目录树中移动到另一个位置或机器。

有时这会反击(例如,当您想要包含 Delphi 示例代码中的部分时)。

这样做的唯一方法是确保您希望具有绝对路径名的部分位于与主项目不同的驱动器号上。

也可能(我还没有尝试过)您可以通过将它们放在不同的 UNC 路径上来强制执行此操作。

于 2012-06-26T13:28:34.257 回答