【问题标题】:How to retrieve the value of $(Config) using ToolsAPI?如何使用 ToolsAPI 检索 $(Config) 的值?
【发布时间】:2011-03-24 13:38:43
【问题描述】:

在使用 ToolsAPI 编写 Delphi 专家时,我们可以使用 GetEnvironmentVariable 来检索当前 Delphi IDE 进程可用的环境变量。但是,这仅适用于在您当前的用户帐户设置或 Delphi 的环境变量设置中定义的变量

Tools | Options | Environment Options | Environment Variables.

Delphi 2010 / XE 中的 $(Config) 等一些变量可供使用,但它不显示为环境变量。我们可以通过在详细设置中打开“诊断”来获得变量列表。在 Delphi IDE 中编译项目时,$(Config) 变量会出现在诊断输出中。

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

【问题讨论】:

    标签: delphi toolsapi


    【解决方案1】:

    项目的ProjectOptions 属性可以转换为IOTAProjectOptionsConfigurations

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

    【讨论】:

    • 如果我需要检索未在环境变量中定义的其他变量的值怎么办?我问这个的原因是我尝试做一个解决方案来修复一个 IDE 错误:qc.embarcadero.com/wc/qcmain.aspx?d=92507
    • 这可能取决于“其他变量”是什么。
    • 如果我们有多个构建配置,例如:“调试”和“发布”,我们可以在 IDE 中执行“发布”构建,而“调试”是活动配置。在您给出的答案中,我从来没有机会将 $(Config) 的值作为“发布”,在这种情况下它总是返回“调试”。
    • ActiveConfiguration 返回活动配置。要枚举所有定义的配置,请使用IOTAProjectOptionsConfigurations 接口的ConfigurationCountConfigurations 属性。
    • 我知道 ConfigurationCount 和 Configurations 属性。我希望在我的 Toolsapi 专家中构建项目时检索实际配置。如果我可以在运行时检索 $(Config) 的值,那么我的问题就解决了。 ActiveConfiguration 并不总是当前编译任务的构建配置。
    猜你喜欢
    • 2016-06-06
    • 2011-07-23
    • 2013-08-09
    • 1970-01-01
    • 2022-11-10
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多