2011-03-24 47 views
1

使用ToolsAPI编写Delphi专家时,我们可以使用GetEnvironmentVariable来检索当前Delphi IDE进程可用的环境变量。然而,这只是工作,如果该变量定义在当前用户帐户设置,或在Delphi中的环境变量在Delphi下

Tools | Options | Environment Options | Environment Variables. 

如$一些变量(配置)设置2010/XE都可以使用,但它不” t显示为环境变量。我们可以在Verbosity设置中打开“诊断”来获取变量列表。在Delphi IDE中编译项目时,$(Config)变量出现在诊断输出中。

有没有办法在ToolsAPI中检索$(Config)的值?

回答

4

该项目的ProjectOptions属性可以投射到IOTAProjectOptionsConfigurations

var 
    Project: IOTAProject; 
begin 
    // ... obtain reference to the project 
    ShowMessage((Project.ProjectOptions as IOTAProjectOptionsConfigurations).ActiveConfigurationName); 
end; 
+0

如果我需要检索未在环境变量中定义的其他变量值,该怎么办?我问这个问题的原因是我尝试做一个解决方法来解决IDE错误:http://qc.embarcadero.com/wc/qcmain.aspx?d=92507 – 2011-03-24 14:42:27

+0

这可能取决于“其他变量”是什么。 – 2011-03-24 14:43:59

+0

如果我们有多个构建配置,例如:“debug”和“release”,我们可以在IDE中执行“release”构建,而“debug”是活动配置。在你给出的答案中,我从来没有机会获得$(Config)的值作为“释放”,在这种情况下它总是返回“调试”。 – 2011-03-25 08:35:49