Nehmen wir an, du möchtest einer Prozedur ein Record übergeben, welches selbst einen Verweis auf die Prozedur hat.
Delphi-Quellcode:
PTFormatProcedure = ^TFormatProcedure;
TFormatRecordEntry = record
iProc : Byte;
pFunc : PTFormatProcedure;
end;
TFormatProcedure = function(const re: TFormatRecordEntry; const xSet: TDataSet): String;
Du könntest im Record selbst kein Feld auf TFormatProcedure definieren,
da der Compiler an dieser Stelle die Prozedur noch nicht kennt.
Andersrum kannst du das Record nicht danach definieren, da es
ein Parameter für die Prozedur ist. Mit einem Pointer wäre dies machbar