The CompilerVersion constant identifies the internal version number of the Delphi compiler. It is defined in the System unit and may be referenced either in code just as any other constant:
If compilerversion = scompilername: = ' Delphi 2009 ';
or in conditional compiler expressions:
{$if compilerversion >}//Delphi or later {$ifend}
Technical Comments
The CompilerVersion constant is introduced in Delphi 6 along with conditional expressions. In earlier Delphi versions various compiler defined VERXXX symbols is used to determine compiler versions.
CompilerVersion values and the equivalent compiler defined symbols for the Delphi versions in which the CompilerVersion Co Nstant is defined is:
Compiler |
CompilerVersion |
Defined Symbol |
Delphi 10.2 Tokyo |
32 |
VER320 |
Delphi 10.1 Berlin |
31 |
VER310 |
Delphi Ten Seattle |
30 |
VER300 |
Delphi XE8 |
29 |
VER290 |
Delphi XE7 |
28 |
VER280 |
Delphi XE6 |
27 |
VER270 |
Appmethod 1 |
26.5 |
VER265 |
Delphi XE5 |
26 |
VER260 |
Delphi XE4 |
25 |
VER250 |
Delphi XE3 |
24 |
VER240 |
Delphi XE2 |
23 |
VER230 |
Delphi XE |
22 |
VER220 |
Delphi 2010 |
21st |
VER210 |
Delphi 2009 |
20 |
VER200 |
Delphi. NET |
19 |
VER190 |
Delphi 2007 |
18.5 |
VER185 (also VER180) |
Delphi 2006 |
18 |
VER180 |
Delphi 2005 |
17 |
VER170 |
Delphi 8. NET |
16 |
VER160 |
Delphi 7 |
15 |
VER150 |
Delphi 6 |
14 |
VER140 |
Delphi 5 |
13 (*) |
VER130 |
Delphi 4 |
12 (*) |
VER120 |
Delphi 3 |
10 (*) |
VER100 |
Delphi 2 |
9 (*) |
VER90 |
Delphi 1 |
8 (*) |
VER80 |
(*) These versions did not had a CompilerVersion constant, it was introduced with Delphi 6.
The latest Delphi version number control