TProc<TObject> zu TNotifyEvent

Weiter zu diesem post, deren akzeptierte Antwort bleibt sehr kryptisch:

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

Frage ich mich, ob es möglich ist, erarbeiten die einfachste und elegante Weise, ähnlich:

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

so, wie Sie zu erreichen, den gleichen Zweck und wo AnonProc2NotifyEvent ist eine Methode, die Besitzer der Schaltfläche mit der folgenden Signatur:

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

Ist das machbar und wenn ja, wie umsetzen ?

  • Möchten Sie vielleicht einen Blick auf DSharp.Core.Veranstaltungen.pas.
  • Glienke: Danke für die Erinnerung es mir, ich habe in der Tat DSharp installiert auf meiner Kiste und ich habe es (nach meinem entlassen, die ich nicht verwenden es oft so oft), aber glaube, ich Folge ihm seit seiner Gründung (Bwt-ich bin auch Mitglied der DelphiPraxis, nicht sehr gut Deutsch aber Sie versuchen im Auge zu behalten, um die lebhafte Deutsche Delphi-Szene). Sicher Generika ist mein Nächster Schritt. Vielen Dank Stevie 🙂
InformationsquelleAutor menjaraz | 2012-07-15
Schreibe einen Kommentar