![]() |
Problem mit Sender
Hallo
Ich drücke einen Button und öffne Form2. In Form2 ist edit Feld. Werte die ich dort eingebe sollen die Caption des gedrückten Buttons auf form1 Ändern. Wie Kriege ich das hin? Innerhalb der Form ist es kein problem aber formübergreifend Bekomme ich es nicht hin. Kann mir jemand helfen Hab mal hier was gebastelt
Delphi-Quellcode:
procedure TForm4.Edit1KeyPress(Sender: TObject; var Key: Char);
var Button:Tbutton; begin Button:=TButton(sender); if Key = #13 then begin key := #0;//schalt sound ab Button.caption:=edit1.text;//Button <--Hier soll der Sender rein edit1.Text:=''; edit2.Text:=''; close; end; end; |
AW: Problem mit Sender
Habe was gefunden
Delphi-Quellcode:
TColorbutton(form1.findcomponent(edit2.text)).caption:=edit1.text;
|
AW: Problem mit Sender
Spendiere deiner Form2 besser ein entsprechendes Event.
Delphi-Quellcode:
Dann muss dein Form2 dein Form1 nicht kennen.
type
TMyTextChangeEvent = procedure(Sender: TObject; const ANewMyText: String) of object; TForm2 = class(TForm) private FOnMyTextChange: TMyTextChangeEvent; public property OnMyTextChange: TMyTextChangeEvent read FOnMyTextChange write FOnMyTextChange; end; // da wo du das in Form2 an Form1 geben willst if Assigned(FOnMyTextChange) then FOnMyTextChange(Self, DeinNeuerText); // Form1 TForm1 = class(TForm) private procedure MyTextChangeEvent(Sender: TObject; const ANewMyText: String); end; procedure TForm1.MyTextChangeEvent(Sender: TObject; const ANewMyText: String); begin // mach was mit ANewMyText end; // beim Aufruf von Form2: Form2.OnMyTextChange := MyTextChangeEvent; Form2.Show; //bzw. ShowModal |
AW: Problem mit Sender
Jupp, Entweder man übergibt beim Aufrufen der Form2 (echt blöder Name) entweder die Referenz des Buttons, aber dann ist man praktisch an Buttons gebunden und kann den Code notfalls nur mit Buttons wiederverwenden,
(wie z.B. bei der Verbindung von TDataSet und TDataSource, oder zwischen TImageList und irgendeiner Komponente, mit diesen Images-Properties) oder man nutzt ein Callback-Event, so wie schon vorgeschlagen, und kann dann im Event machen was man will, während die Form2 nichts übr den Button wissen muß. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz