TProc <Obiekt> na TNotifyEvent

Oprócz tegosłupek którego zaakceptowana odpowiedź pozostaje bardzo tajemnicza:

@Button1.OnClick := pPointer(Cardinal(pPointer( procedure (sender: tObject) begin ((sender as TButton).Owner as TForm).Caption := 'Freedom to anonymous methods!' end )^ ) + $0C)^;

Zastanawiam się, czy można wymyślić najprostszy i elegancki sposób podobny do:

Button.OnClick :=
                    AnonProc2NotifyEvent (
                    procedure (Sender: TObject)
                    begin
                      ((Sender as TButton).Owner as TForm).Caption := 'Freedom to anonymous methods!'
                    end
                      );

aby osiągnąć ten sam cel i gdzie AnonProc2NotifyEvent jest metodą właściciela Button z następującym podpisem:

TOwnerOfButton = class(TForm)
  Button: TButton;
  ...
private
  ...
protected
  function AnonProc2NotifyEvent(aProc: TProc<TObject>): TNotifyEvent;
public
  ...
end;

Czy jest to wykonalne, a jeśli tak, to jak je wdrożyć?

questionAnswers(2)

yourAnswerToTheQuestion