Du definerst TMainCallback als
procedure of object, heisst die Prozedur muss in einer Klasse stehen.
EntryPoint hingegen ist eine "globale Prozedur" und kann deswegen nicht zugewiesen werden. Du müsstest TMainCallback einfach als
procedure definieren.
Delphi-Quellcode:
type
TMainCallback = procedure;