About the author
I recently stumbled across undocumented Delphi directives that were used to set the PE OS headers.
They are as follows:
The usage for these directives are as follows:
{$SETPEOSVERSION major.minor} {$SETPESUBSYSVERSION major.minor}{$SETPEUSERVERSION major.minor}
These compiler directives were probably introduced at the same time that the command line compiler introduced these, which was probably in Delphi 2010.
A method pointer is now the same as a global procedure, ie, procedure of object = procedure.