Autor Beitrag
SmileySN
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: Di 04.08.09 14:18 
Ich möchte aus der OnClick Procedure eines Panels, das Panel selbst übergeben, um in einer anderen (Berechne) Procedure das übergebene Panel bearbeiten zu können.
Ich kann zwar den Panel-Namen übergeben und dann in der Berechne-Procedure mit mit FindComponent mir das Panel dann wieder einer TPanel Variablen zuweisen, das scheint mir aber etwas umständlich. Es muss doch auch direkt machbar sein, das Panel zu übergeben.

Ich dachte mir ich kann es mit "Berechne(Self);" aufrufen, aber dann habe ich nur das ganze Objekt und nicht das Panel.
In der Unterprocedure wollte ich dann das Panel.Caption bearbeiten, wie kann ich das machen (Syntax) ?
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Di 04.08.09 14:21 
da die du die berechnen-prozedur ja selbst gemacht hast, kannst du ja einfach sowas zb machen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Berechne(aPanel: TPanel);
begin

end;


aufgerufen wird das ganze dann ca so

ausblenden Delphi-Quelltext
1:
  Berechne(DasPanelDasUebergebenWerdenSoll);					


lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
SmileySN Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: Di 04.08.09 14:31 
Danke elundril für die schnelle Antwort.
Den Teil in der Berechne-Procedure hatte ich auch schon versucht, das wäre prima wenn das geht, aber ich weiß nicht wie ich das Panel aus der OnClick-Procedure des Panels übergebe, Syntax-mäßig.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
Procedure TForm1.pnl1Bit0Click(Sender: TObject);
Begin
  Berechne1(?????);
End;


Was muss ich wie übergeben, wenn ich nur den Sender aus der OnClick-Procedure habe.
Ich habe mehrere Panels, die alle Berechne1 aufrufen sollen wenn ich drauf klicke.
Es soll in Berechne aber nur das angeklickte Panel bearbeitet werden.
Dann könnte ich auch allen Cklick-Ereignissen aller Panels das eine OnClick zuweisen.

Dein Ansatz ist genau das was ich machen will, ich weiß nur nicht wie ich aus Sender eine TPanlel Variable mache, die ich übergeben kann.
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Di 04.08.09 14:37 
wenn du allen Panels die gleiche onClick zuweise willst kannst du als Parameter dann folgendes übergeben:

ausblenden Delphi-Quelltext
1:
berechne1(Sender as TPanel);					


damit bekommst du jeweils das Panel das geklickt wurde.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
SmileySN Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: Di 04.08.09 14:44 
Jaaaaaaaaaaaaaaaa genau das war es was ich gesucht habe, das "as" hat mir gefehlt, da hab ich nicht mehr dran gedacht, benutze das so selten.

Danke sehr.