To make your Delphi application more secure, and support the No-Execute (NX) page protection feature, use the $SetPEOptFlags directive.
To do so, use {$SetPEOptFlags $100}.
This causes Windows to use the AMD NX (No-Execute) feature, or Intel XD (Disable Execution) and marks all memory locations in a process as non-executable unless the application marks the memory region as executable using VirtualAlloc* or VirtualProtect APIs.
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