Was hindert Dich Günther ein eigenes TProc zu definieren?
Das würde nichts bringen. Im einen Fall
TProc = procedure
würde nur die Zuweisung 1 klappen, bei
TProc = procedure of object
klappt nur Zuweisung 3. Wenn Zuweisung 2 klappen soll, dann funktionieren immer auch 1 und 3.
Es gibt übrigens noch einen vierten Fall:
Delphi-Quellcode:
type
TMyObject = class
procedure p();
end;
...
p4 := myObject.p;