Delphi预定义的环境变量

Delphi预定义的环境变量,delphi,ide,Delphi,Ide,谁能告诉我在哪里可以找到RAD Studio中可用的“伪”环境变量列表?例如$(平台),$(配置)等等。具体地说,我想要一个提供RTL版本的,这样我就可以将我的编译单元(*.dcu)放入正确的目录中,即D15代表XE,D16代表XE2,等等 我希望其中有一个与“RTLVersion”编译器条件定义相对应,但是$(RTLVersion)不起作用。RTL版本没有环境变量。您必须为每个版本创建一个单独的项目,然后根据需要调整输出文件夹 没有RTLVersion变量,但您可以使用选项Environmen

谁能告诉我在哪里可以找到RAD Studio中可用的“伪”环境变量列表?例如$(平台),$(配置)等等。具体地说,我想要一个提供RTL版本的,这样我就可以将我的编译单元(*.dcu)放入正确的目录中,即D15代表XE,D16代表XE2,等等


我希望其中有一个与“RTLVersion”编译器条件定义相对应,但是$(RTLVersion)不起作用。

RTL版本没有环境变量。您必须为每个版本创建一个单独的项目,然后根据需要调整输出文件夹

没有RTLVersion变量,但您可以使用选项Environment variables轻松创建

或windows注册表

对于Delphi XE,请检查此条目

HKEY_CURRENT_USER\Software\Embarcadero\BDS\8.0\Environment Variables 
然后可以创建一个名为RTLVersion的新变量

然后从Delphi IDE可以这样使用

您尝试过$(ProductVersion)吗? 这不会提供D16,但包含适用于XE2的BDS产品版本9.0

不幸的是,我的XE2演示版已经过期,所以我无法验证它是否有效。 您将找到bin\CodeGear.Common.Targets的定义

更新:
ProductVersion定义在XE2中是新的,因此它在旧版本中不起作用,但由于它是新添加的,它很有可能在未来的版本中由embarcadero维护。

我使用
$(ProductVersion)
。但我试图在delphi 7之前的版本中创建它,因为delphi 7和delphi 7之前没有定义
$(ProductVersion)

我认为它们只是讨论过的普通环境变量。这些是IDE本身设置的环境变量。“覆盖”存储在注册表中。顺便说一句,
RTLVersion
不是条件符号,而是真常量。此外,我不认为有什么理由组织临时文件。我正在尝试配置我的项目,以便它们可以在生成服务器上生成,而不必在生成服务器上添加特殊命令。构建服务器可能有几个不同版本的Delphi。它也可能有几个不同的代码库,比如Jedi(都在源代码管理中)。我希望构建脚本能够构建这些库以及我的产品。但是绝地对每个RTL版本都有不同的文件夹(例如.\lib\D15)。因此,我想让我的项目选项在..\lib\D$(RTLVersion)中显示,因为这样我就不必在发布新的Delphi版本时更改每个项目文件。在D2007中,我在选项对话框的“环境选项”下有一个“环境变量”页面(全部翻译自德语)。这在DXE中消失了吗?@UlrichGerhardt,
环境变量
页面仍然存在,我更新了我的答案。请注意,$(ProductVersion)在XE中也可用。