Wenn du einen Prozedurtyp
TExample = procedure(...)
hast, kannst du einer Variable dieses Typs auch nur Prozeduren zuweisen, deren Signatur dazu passt.
Das ist kurz gesagt Typsicherheit: Du kannst verschiedene Typen nicht einfach so untereinander zuweisen.
Ob die Prozedur im Interface der
Unit nach außen veröffentlicht wurde oder ob die Variable im Prozedurkopf oder inline im Code deklariert wurde, spielt dabei keine Rolle.