Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#17

AW: Wie kann ein Zeiger auf eine Funktion als Paramater übergeben werden?

  Alt 26. Nov 2010, 17:56
Ich hab Dir mal ein Beispiel gebastelt, der Übersicht halber alles in einer Unit
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TBeispiel=Procedure(Sender:TObject) of object;

  TMyClass=Class(TButton)
    Private
      FMethode:TBeispiel;
    public
    Constructor Create(AOwner:TComponent;Methode:TBeispiel);
  End;


  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TMyClass }

constructor TMyClass.Create(AOwner: TComponent; Methode: TBeispiel);
begin
  inherited Create(AOwner);
  FMethode := Methode;

  //TEST
  Tag := 100;
  if Assigned(FMethode) then FMethode(Self);
  //ENDE TEST
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Showmessage(IntToStr(TComponent(Sender).Tag));
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  With TMyClass.Create(Self,Button1Click) do
    begin
      Parent := self;
      Caption := 'Neuer Button';
    end;
end;

end.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat