我会对相对路径产生怀疑。我正在使用Delphi XE 更新。
我开发了一个内部程序来编译我们的项目并进行分发 更灵活。
我有一个功能,我在那里映射文件"。 Groupproj"来自Delphi并导入 "项目包括"以正确的构建顺序访问我的应用程序。
我对文件的相对路径存在一些问题,我无法识别 它的完整路径。
获取完整路径的一种方法是将项目组保存在" c:\"中。 因此,所有相对路径都被转换。
目前使用" ExpandFileName"方法,但不是我喜欢的方式 它。对于组项目的所有路径都不完整。因此该方法 无法正确识别路径。
示例XML组文件默认值:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{1CA5FD23-CD16-4E71-8B84-CF65BC26C390}</ProjectGuid>
</PropertyGroup>
<ItemGroup>
<Projects
Include="..\..\..\Framework\JBTypes\Package\DXE\Types.dproj">
<Dependencies/>
</Projects>
<Projects
Include="..\..\..\Framework\JBLib\Package\DXE\JBLib.dproj">
<Dependencies/>
</Projects>
预期的XML小组示例:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{1CA5FD23-CD16-4E71-8B84-CF65BC26C390}</ProjectGuid>
</PropertyGroup>
<ItemGroup>
<Projects
Include="c:\JBSoftware\Systems\Framework\JBTypes\Package\DXE\Types.dproj">
<Dependencies/>
</Projects>
<Projects
Include="c:\JBSoftware\Systems\Framework\JBLib\Package\DXE\JBLib.dproj">
<Dependencies/>
</Projects>
我是否有任何有效的方法来确定这些群体的完整路径 项目
答案 0 :(得分:2)
在询问他们之后很少时间,只需通过帮助Embarcadero论坛,找到解决方案。 这只是我没注意到的一个细节。 实际上,我没有注意到在获取完整路径之前必须设置默认目录。
使用的示例代码:
//Default directory were project group was saved
ChDir('C:\JBSystems\Components');
//Converting relative path to full path
LbTestList.Items.Add(ExpandFileName('..\Framework\JBLib\Package\JBLib.dproj'));
在解析相对路径之前,必须用文件夹更改当前文件夹,保存项目组。
工作完美。
感谢。