Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Problem bei Aufrufen einer Procedure


Hendrik - So 09.03.03 17:59
Titel: Problem bei Aufrufen einer Procedure
Hallo

Ich will aus einer Procedure (eine selbstgeschriebene, keine eines Objektes) eine andere (eines Popupmenüs) aufrufen.
Wenn ich aber N1menüeintragclick(sender); aufrufe sagt er, dass das Sender falsch ist. Wie kann ich denn die Procedure aufrufen, so dass es klappt?


derDoc - So 09.03.03 18:16

Übergib als Sender die Komponente deren Ereignis du benutzt:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm1.Button2Click(Sender: TObject);
begin
  ShowMessage('Test');
end;

procedure TForm1.Klick;
begin
  Form1.Button2Click(Button2); 
  //hier als Sender den normalen Auslöser eintragen
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Klick;
end;


Damit kannst du wenn der Button1 geklickt wird das machen, was passiert wenn Button2 geklickt wird. Ich glaube das etwas abgewandelt wolltest du.


Popov - So 09.03.03 18:18

//Edit

Falsch verstanden.

Neu

Versuchs mit


Quelltext
1:
N1menüeintragclick(nil);                    


Allerdings ist N1 eigentlich der Trenner.

Ich hoffe nicht, das du menüeintrag geschreiben hast. Ein Ü kann Delphi nicht verarbeiten.


Hendrik - Mo 10.03.03 16:13

Danke es klappt mit nil !