Delphi条件编译时编译器的版本号

更早的版本忽略,我们从2006开始记录,相应的版本号判断方式:

VER180 : Delphi 10.0 CodeGear 2006/2007
VER185 : Delphi 11.0 CodeGear 2007
VER190 : Delphi 12.0 CodeGear 2008
VER200 : Delphi 13.0 CodeGear 2009
VER210 : Delphi 14.0 Embarcadero RAD Studio 2010
VER220 : Delphi 15.0 Embarcadero RAD Studio XE
VER230 : Delphi 16.0 Embarcadero RAD Studio XE2
VER240 : Delphi 17.0 Embarcadero RAD Studio XE3
VER250 : Delphi 18.0 Embarcadero RAD Studio XE4|
VER260 : Delphi 19.0 Embarcadero RAD Studio XE5
VER270 : Delphi 20.0 Embarcadero RAD Studio XE6
VER280 : Delphi 21.0 Embarcadero RAD Studio XE7
VER290 : Delphi 22.0 Embarcadero RAD Studio XE8

{$IFDEF VERxxx} 代码 {$ELSE} 否则 {$ENDIF}
1
2
3
4
5
6
7
8
9
{$IFDEF VERxxx}
 
代码
 
{$ELSE}
 
否则
 
{$ENDIF}

我们还可以直接判断版本号(RTLVersion)值的方式,注意是两位整数,象VER185要写成RTLVersion=18.5而不是185:

{$IF RTLVersion>=18}//2006+ 代码 {$ELSE} 代码 {$IFEND}
1
2
3
4
5
{$IF RTLVersion>=18}//2006+
代码
{$ELSE}
代码
{$IFEND}

注意不知道从什么版本开始IFEND就统一成ENDIF了,编译器会有警告,不过如果要和早期的版本兼容,可以打开下面的开关:

{$LEGACYIFEND ON}
1
{$LEGACYIFEND ON}

就没有问题了。

猜你喜欢

转载自my.oschina.net/u/1777508/blog/2873109