如果您不问太多,我将描述这是一种可能的解决方法。
假设有包含按日期或您想要的不同版本区分的文件夹。例如:Project_14-07-21, Project_15-07-21, Project_16-07-21。
在这些文件夹中,您可以将常用文件夹与不同版本的文件放在一起。例如在任何:Project_16-07-21\Common
此时如果放弃dof文件中[Version Info]和[Version Info Keys]部分的信息,只需更改项目的文件cfg和dof .
怎么样?简而言之:相对路径。
在文件dof中搜索SearchPath在此以类似的方式更改:
搜索路径=..\DCU;DCU;..\Common;Common;$(DELPHI)\Lib;$(DELPHI)\JEDI\jvcl\lib\d7;$(DELPHI)\JEDI\jvcl\run; $(DELPHI)\JEDI\jcl\jcl\source\common
在文件 cfg 中以类似的方式更改:
-U"..\DCU";"DCU";"..\Common";"Common";"C:\Program Files (x86)\Borland\Delphi7\Lib";"C:\Program Files (x86)\Borland\Delphi7\Source\Indy"
-I"..\DCU";"DCU";"..\Common";"Common";"C:\Program Files (x86)\Borland\Delphi7\Lib";"C:\Program Files (x86) \Borland\Delphi7\Source\Indy"
-R"..\DCU";"DCU";"..\Common";"Common";"C:\Program Files (x86)\Borland\Delphi7\Lib";"C:\Program Files (x86) \Borland\Delphi7\Source\Indy"
进行必要的更改以使其在意图上有用。
“Common”是指各个版本项目的内部文件夹“Common”。
您可以将“..\Common”替换为在任何版本中都不会更改的硬文件。
显然文件 dpr 也会根据路径而改变
例如:
……
'..\Common\JclSysUtils.pas' 中的 JclSysUtils,
……
'Common\uTest.pas' 中的 uTest;
{$R ..\Common\Project.tlb}
{$R ..\Common\Project.res}
此时,您可以通过批处理自动执行所有这些操作。
举个例子:我已经实现了通过拖动dpr文件来编译的批处理文件。
这些是我们理解其目的的名称:CC_IDE_Off.bat, CC_IDE_On.bat, CC_Debug_OnOff.bat。通过将 i 文件 cfg e dof(无论是否调试)复制到 dpr 文件的文件夹中来工作的这些批处理,即使没有将组件安装到 IDE 中,您也可以编译完整的项目。