如何在源代码中为Delphi 7搜索路径定义自定义变量?

时间:2016-07-20 12:00:32

标签: delphi delphi-7

我是一个Delphi 7项目,我将其他项目中使用的公共文件放入Search Path。我项目的不同版本需要使用不同版本的公共文件。我知道可以使用Windows环境变量,但是可以在.pas文件中定义变量搜索路径吗?或者,我可以开放解决方法。

例如:

const Version = '100';

enter image description here

2 个答案:

答案 0 :(得分:2)

  

我知道可以使用Windows环境变量

或IDE自己的环境变量,因此您不必弄乱Windows环境。但是,是的,一般来说,您尝试做的只能使用环境变量来完成。

  

是否可以在.pas文件中定义变量搜索路径?

不,不是。这样的变量必须在OS / IDE层定义,而不是在代码层定义。

答案 1 :(得分:1)

如果你不要求太多,我将描述这是一个可能的解决方法。

假设包含按日期或所需内容区分的不同版本的文件夹。例如:Project_14-07-21, Project_15-07-21, Project_16-07-21

在这些文件夹中,您可以将公共文件夹放在包含不同版本的文件中。例如,在任何:Project_16-07-21\Common

此时,如果您放弃dof文件中[版本信息]和[版本信息密钥]部分的信息,那么需要做的就是更改文件cfg e {{ 1}}项目。

如何?用两个词来说:相对路径

在文件dof中搜索dof以类似的方式更改:

  

SearchPath中= .. \ DCU; DCU; .. \普通的;常见; $(DELPHI)\库; $(DELPHI)\ JEDI \ JVCL \ lib中\ D7; $(DELPHI)\ JEDI \ JVCL \运行; $(DELPHI)\ JEDI \ JCL \ JCL \源\共同

在文件cfg中以类似的方式更改:

  

-U“.. \ DCU”;“DCU”;“.. \ Common”;“Common”;“C:\ Program Files(x86)\ Borland \ Delphi7 \ Lib”;“C:\ Program Files (86)\ Borland的\ Delphi7的\源\印”   -I“.. \ DCU”;“DCU”;“.. \ Common”;“Common”;“C:\ Program Files(x86)\ Borland \ Delphi7 \ Lib”;“C:\ Program Files(x86) \ Borland的\ Delphi7的\来源\印”   -R“.. \ DCU”;“DCU”;“.. \ Common”;“Common”;“C:\ Program Files(x86)\ Borland \ Delphi7 \ Lib”;“C:\ Program Files(x86) \ Borland的\ Delphi7的\源\印“

进行必要的修改,意图有用。

“Common”指各种版本项目的内部文件夹“Common”。

而不是“.. \ Common”你可以认为诸如硬文件在任何版本中都不会改变。

显然,文件dpr也会根据路径

而改变

例如:   ....   JclSysUtils在'.. \ Common \ JclSysUtils.pas'中,   ....   uTest在'Common \ uTest.pas';

{$ R .. \ Common \ Project.tlb} {$ R .. \ Common \ Project.res}

此时你可以通过批量自动完成所有这一切。

作为礼貌的例子:我已经实现了通过拖动SearchPath文件进行编译的批处理文件。 这些是我们理解其目的的名称:dpr。通过在CC_IDE_Off.bat, CC_IDE_On.bat, CC_Debug_OnOff.bat文件的文件夹中复制i file cfg e dof(调试与否),您可以编译完整的项目,即使没有将组件安装到IDE中,也可以使用这些批处理。