UPDATE: According to Allen and Hallvard, that would be considered a breaking interface change, and is considered a BIG no-no. Read more about breaking interface changes.
The Delphi 7.1 Update has been out for some time. It fixes a lot of bugs, as described here.
One of the pet peeves with the Delphi 7.1 update I have is that the RTLVersion constant wasn't updated. It still read 15.00. The same with CompilerVersion. It still reads 15.00. If I remember correctly, these constants were declared, beginning with Delphi 6. If the RTL is updated, or the compiler is updated, why shouldn't these constants be updated?
A simple project, such as the following, shows.
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
begin WriteLn(Format('RTLVersion: %.2f', [RTLVersion])); WriteLn(Format('CompilerVersion: %.2f', [CompilerVersion]));end.
In 2017, with the release of Delphi 10.2 Tokyo, Embarcadero introduced a specialized implementation of the Observer pattern into the System.Classes unit. While it has been in the wild for 9 years, it remains a "hidden" architecture for many, primarily because it serves as the invisible engine behind LiveBindings. Other than live bindings, you can also use the Observer pattern as a way to update component settings to the Windows registry, an .ini file, or persist it elsewhere.
System.Classes