From which version "vclunit.pas" changed to "Vcl.vclunit.pas"?

components, delphi

Solution

Unit scope names were introduced in XE2. And XE2 is compiler version 23. So the conditional is:

{$if CompilerVersion >= 23}

Problem

I made a component in Delphi 2007 and now I want to make it work with new versions of Delphi so I must change the uses from `uses Controls;` to `uses {$if CompilerVersion > 21}Vcl.Controls{$else}Controls{$ifend};`. But I don't know the compiler version I must write. Anyone knows it?

Original source