You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译时如何检测Alexandria 11.3及以上版本?

编译时区分Delphi Alexandria 11.2与11.3的方法

由于11.2和11.3的CompilerVersion与RTLVersion均为35,无法通过这两个常量直接区分,以下是两种可靠的编译时检测方案:

方案1:使用官方预定义的条件编译符号

Embarcadero在每个小版本中都会添加对应的版本专属编译符号,直接通过这些符号判断是最简洁可靠的方式:

// 检测是否为11.3及以上版本
{$IFDEF DELPHI_11_3}
  // 此处编写11.3及以上版本的专属代码
  ShowMessage('当前环境为Delphi Alexandria 11.3+');
{$ELSEIF DEFINE DELPHI_11_2}
  // 此处编写11.2版本的专属代码
  ShowMessage('当前环境为Delphi Alexandria 11.2');
{$ELSE}
  // 其他版本处理逻辑
{$ENDIF}
  • DELPHI_11_2是11.2版本的专属符号
  • DELPHI_11_3是11.3及后续同大版本更新(如11.4)的专属符号

方案2:通过RTL构建号区分

如果需要更细粒度的版本判断,可以使用RTLVersionBuild常量(对应版本的构建编号),11.2与11.3的构建号存在明显差异:

{$IF RTLVersion = 35} // 先锁定Alexandria大版本
  {$IF RTLVersionBuild >= 46300}
    // 11.3及以上版本(11.3的构建号起始为46300)
    ShowMessage('当前环境为Delphi Alexandria 11.3+');
  {$ELSE}
    // 11.2版本(构建号为43500)
    ShowMessage('当前环境为Delphi Alexandria 11.2');
  {$ENDIF}
{$ENDIF}
  • Delphi Alexandria 11.2的RTLVersionBuild为43500
  • Delphi Alexandria 11.3的RTLVersionBuild为46300

两种方案中,方案1更推荐,因为它是官方明确提供的版本标识,不会因构建号的细微调整出现判断误差。

内容的提问来源于stack exchange,提问作者HeartWare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:57:20