Delphi has several variables, symbols and other means where it stores its own version information. Here is a reference, trying to provide as much information as possible.
If you have corrections, additional information or updates, then feel free to post pull-requests or become a contributor.
Also have a look at this repo, which has additional information about release dates, patch versions and more: https://github.com/ideasawakened/DelphiKB/wiki/Delphi-Master-Release-List
Product | Main Version | Code Name | Conditional VER | Product Version | Build No. | Package Version | CompilerVersion | RTLVersion RTLVersionxxx |
Project Version | HKCU/HKLM Registry Path |
---|---|---|---|---|---|---|---|---|---|---|
Delphi C++Builder |
12.2 | Athens | VER360 | 29 | 29.0.53571.9782 | 290 | 36.0 | 36.0 RTLVersion122 |
20.2 | \Software\Embarcadero\BDS\23.0 |
Delphi C++Builder |
12.1 | Athens | VER360 | 29 | 29.0.51961.7529 | 290 | 36.0 | 36.0 RTLVersion121 |
20.1 | \Software\Embarcadero\BDS\23.0 |
Delphi C++Builder |
12.0 | Athens | VER360 | 29 | 29.0.50491.5718 | 290 | 36.0 | 36.0 RTLVersion120 |
20.1 | \Software\Embarcadero\BDS\23.0 |
Delphi C++Builder |
11.3 | Alexandria | VER350 | 28 | 28.0.47991.2819 | 280 | 35.0 | 35.0 RTLVersion111 RTLVersion112 RTLVersion113 |
19.5 | \Software\Embarcadero\BDS\22.0 |
Delphi C++Builder |
11.2 | Alexandria | VER350 | 28 | 28.0.46141.0937 | 280 | 35.0 | 35.0 RTLVersion111 RTLVersion112 |
19.5 | \Software\Embarcadero\BDS\22.0 |
C++Builder | 11.1.5 | Alexandria | VER350 | 28 | 28.0.45591.253 | 280 | 35.0 | 19.4 | \Software\Embarcadero\BDS\22.0 | |
Delphi C++Builder |
11.1 | Alexandria | VER350 | 28 | 28.0.44500.8973 | 280 | 35.0 | 35.0 RTLVersion111 |
19.4 | \Software\Embarcadero\BDS\22.0 |
Delphi C++Builder |
11.0 | Alexandria | VER350 | 28 | 28.0.42600.6491 | 280 | 35.0 | 35.0 | 19.3 | \Software\Embarcadero\BDS\22.0 |
Delphi C++Builder |
10.4.2 | Sydney | VER340 | 27 | 27.0.40680.4203 | 270 | 34.0 | 34.0 RTLVersion1041 RTLVersion1042 |
19.2 | \Software\Embarcadero\BDS\21.0 |
DelphiC ++Builder |
10.4.1 | Sydney | VER340 | 27 | 27.0.38860.1461 | 270 | 34.0 | 34.0 RTLVersion1041 |
19.1 | \Software\Embarcadero\BDS\21.0 |
Delphi C++Builder |
10.4 | Sydney | VER340 | 27 | 270 | 34.0 | 19.0 | \Software\Embarcadero\BDS\21.0 | ||
Delphi C++Builder |
10.3 | Rio | VER330 | 26 | 26.0.36039.7899 | 260 | 33.0 | 33.0 | 18.8 | \Software\Embarcadero\BDS\20.0 |
Delphi C++Builder |
10.2 | Tokyo | VER320 | 25 | 25.0.31059.3231 | 250 | 32.0 | 32.0 | 18.4 | \Software\Embarcadero\BDS\19.0 |
Delphi / C++Builder | 10.1 | Berlin | VER310 | 24 | 240 | 31.0 | 18.1 | \Software\Embarcadero\BDS\18.0 | ||
Delphi / C++Builder | 10 | Seattle | VER300 | 23 | 230 | 30.0 | 18.0 | \Software\Embarcadero\BDS\17.0 | ||
Delphi C++Builder Appmethod 1.16 |
XE8 | VER290 | 22 | 220 | 29.0 | 17.0;17.1;17.2 | \Software\Embarcadero\BDS\16.0 | |||
Delphi C++Builder Appmethod 1.15 |
XE7 | VER280 | 21 | 210 | 28.0 | 16.0;16.1 | \Software\Embarcadero\BDS\15.0 | |||
Delphi XE6 C++Builder Appmethod 1.14 |
XE6 | VER270 | 20 | 200 | 27.0 | 15.4 | \Software\Embarcadero\BDS\14.0 | |||
AppMethod 1.13 | VER265 | 26.5 | 15.1;15.2;15.3 | \Software\Embarcadero\BDS\13.0 | ||||||
Delphi C++Builder |
XE5 | VER260 | 19 | 190 | 26.0 | 15.0;15.1 | \Software\Embarcadero\BDS\12.0 | |||
Delphi C++Builder |
XE4 | VER250 | 18 | 180 | 25.0 | 14.6 | \Software\Embarcadero\BDS\11.0 | |||
Delphi C++Builder |
XE3 | VER240 | 17 | 170 | 24.0 | 14.3;14.4 | \Software\Embarcadero\BDS\10.0 | |||
Delphi C++Builder |
XE2 | VER230 | 16 | 160 | 23.0 | 13.4 | \Software\Embarcadero\BDS\9.0 | |||
Delphi C++Builder |
XE | VER220 | 15 | 15.0.3953.35171 | 150 | 22.0 | 12.2;12.3 | \Software\Embarcadero\BDS\8.0 | ||
Delphi C++Builder |
2010 | VER210 | 14 | 140 | 21.0 | 12.0 | \Software\CodeGear\BDS\7.0 | |||
Delphi C++Builder |
2009 | VER200 | 12 | 120 | 20.0 | 11.1;12.0 | \Software\CodeGear\BDS\6.0 | |||
Delphi for .Net | 2007 | VER190 | 11 | 110 | 19.0 | |||||
Delphi C++Builder for Win32 |
2007 | VER180 or VER185 | 11 | 110 | 18.5 | \Software\Borland\BDS\5.0 | ||||
Delphi C++Builder |
2006 | VER180 | 10 | 100 | 18.0 | \Software\Borland\BDS\4.0 | ||||
Delphi | 2005 | VER170 | 9 | 90 | 17.0 | \Software\Borland\BDS\3.0 | ||||
Delphi for .Net |
8 | VER160 | 8 | 80 | 16.0 | 80 | \Software\Borland\BDS\2.0 | |||
Borland C# Builder | 1 | C# | C# | \Software\Borland\BDS\1.0 | ||||||
Delphi | 7 / 7.1 | VER150 | 7 | v7.0 build 8.1 | 70 | 15.0 | \SOFTWARE\Borland\Delphi\7.0 | |||
Delphi C++Builder |
6 | VER140 | 6 | 6.0.6.163 | 60 | 14.0 | ||||
Delphi C++Builder |
5 | VER130 | 5 | 5.0.5.62 | NA | NA | \Software\Borland\Delphi\5.0 | |||
C++Builder | 4 | VER125 | 4 | NA | NA | |||||
Delphi | 4 | VER120 | 4 | 4.0.5.37 | NA | NA | \Software\Borland\Delphi\4.0 | |||
C++Builder | 3 | VER110 | 3 | NA | NA | |||||
Delphi | 3 | VER100 | 3 | 3.0.5.53 | NA | NA | ||||
C++Builder | 1 | VER93 | NA | NA | NA | |||||
Delphi | 2 | VER90 | 2 | NA | NA | |||||
Delphi | 1 | VER80 | 1 | NA | NA | |||||
Borland Pascal | 7.0 | VER70 | NA | NA | NA | |||||
Turbo Pascal for Windows 1.5 | 1.5 | VER15 | NA | NA | NA | |||||
Turbo Pascal for Windows | 1.0 | VER10 | NA | NA | NA | |||||
Turbo Pascal | 6.0 | VER60 | NA | NA | NA | |||||
Turbo Pascal | 5.5 | VER55 | NA | NA | NA | |||||
Turbo Pascal | 5.0 | VER50 | NA | NA | NA | |||||
Turbo Pascal | 4.0 | VER40 | NA | NA | NA |
{$IFDEF VER340}
DoSomething;
{$ENDIF}
if CompilerVersion = 34.0 then
LCompilerName := 'Delphi 10.4 Sydney';
if RTLVersion111 then //The RTLVersionxxx constants were introduced with 10.4
LVersion := Delphi 11.1;
- CompilerVersion was first introduced with Delphi 6, so earlier versions do not have the CompilerVersion constant
- Delphi 2007 defines two VERxxx symbols (VER180 and VER185). Delphi 2006 and 2007 are binary compatible, so 180 works for both. If you need only 2007, use VER185