Delphi(2007)ide改变dproj文件中相对路径的绝对路径...为什么以及何时?

时间:2012-06-26 07:52:19

标签: delphi

我们的delphi 2007 IDE有一点恼人的问题,不时有明显的原因,delphi IDE改变< DCC_DependencyCheckOutputName>中的绝对路径了。节点到相对路径。

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

  

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

并且在保存到delphi 2007之后,它将更改为

  

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

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

您看到我们制作了一个自定义构建脚本,它为我们的项目制作每晚构建版本,并在成功构建后使用upx打包可执行文件。要知道exe文件的位置,我们使用“DCC_DependencyCheckOutputName”节点,但是upx不喜欢相对路径,所以我们需要绝对路径。德尔福停止改变这个或者我们至少知道何时或为什么会发生这种情况会很好,所以我们知道在ide中不应该做什么来阻止这种情况。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

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

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

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

执行此操作的唯一方法是确保要使用绝对路径名的部件位于与主项目不同的驱动器号上。

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