Einzelnen Beitrag anzeigen

Gonzo2

Registriert seit: 4. Nov 2007
42 Beiträge
 
#1

Wie übergebe ich eine Prozedur als Parameter?

  Alt 23. Sep 2008, 19:18
Also ich will in etwas das machen

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ButtonClick(Sender: TObject);
begin
  ShowMessage('Test');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Button1.OnClick := ButtonClick; // <=====
end;
Ich weise dem OnClick Ereignis des Button1 eine Prozedur zu. Soweit kein Problem. Allerdings möchte ich das nicht direkt machen sondern über eine zweite Prozedur

Delphi-Quellcode:
procedure TForm1.ButtonClick(Sender: TObject);
begin
  ShowMessage('Test');
end;

procedure machwas(???);
begin
  Button1.OnClick := ???;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  machwas(?ButtonClick?);
end;
Wie kann man das machen? Ich möchte die Prozedur als Parameter übergeben.
  Mit Zitat antworten Zitat