![]() |
Zur Laufzeit erstellte Komponenten eindeutig erkennen
Moin,
ich habe in meinem Projekt eine Menge Objekte, denen TEdits zugeordnet sind. Dies werden zur Laufzeit in unterschiedlichen Scrollboxen erstellt und gefüllt. Wenn jetzt ein Wert in einem der TEdits geändert wird muß ich den geänderten Wert prüfen und übergeben. Gibt es dort eine eindeutige Zuordnung für den direkten Zugriff auf die anderen Variablen des Objekts? Andernfalls müßte ich ja alle Objekte durchsuchen, on mein TEdit dazugehört. Danke, Messie |
Re: Zur Laufzeit erstellte Komponenten eindeutig erkennen
jedes edit hat ein oncahnge ereignis, da kannst du prüfen oder zuordnen! ansonsten verstehe ich dein problem nicht!
|
Re: Zur Laufzeit erstellte Komponenten eindeutig erkennen
Delphi-Quellcode:
Falls der Wert im TEdit geändert wird, möchte ich den in einem Arbeitsgang an Demo.wert übergeben. (Bedenke, daß ich eine Menge dieser TDemos erzeuge)
type
TDemo = class(TObject) Edit : TEdit; wert : integer; end; var Demo : TDemo; implementation Demo := TDemo.create; Demo.wert := 8; Demo.Edit := TEdit.Create(Form1);//in irgendeinem Steuerelement Demo.Edit.Text := IntToStr(wert); end. Grüße, Messie |
Re: Zur Laufzeit erstellte Komponenten eindeutig erkennen
Moin,
ist meine Frage so blöd, daß ich nicht mal eine Abfuhr bekomme? Grüße, Messie |
Re: Zur Laufzeit erstellte Komponenten eindeutig erkennen
Delphi-Quellcode:
type
TDemo = class(TObject) constructor Create (AOwner: TComponent); private FEdit: TEdit; FWert : integer; procedure EditChange (Sender: TObject); procedure SetWert (Const Value: Integer); protected public Edit: TEdit read FEdit; Wert: Integer read FWert write SetWert; end; var Demo : TDemo; implementation constructor TDemo.Create; begin FEdit := TEdit.Create (AOwner); FEdit.Parent := AOwner; FEdit.OnChange := EditChange; end; procedure TDEmo.SetWert; begin FWert := Value; FEdit.Text := IntToStr(FWert); end; procedure EditChange; begin FWert := StrToInt (FEdit.Text); end; Demo := TDemo.Create(Form1);//in irgendeinem Steuerelement Demo.Wert := 8; end. |
Re: Zur Laufzeit erstellte Komponenten eindeutig erkennen
Das sieht gut aus. Ich wuerde allerdings Value statt Wert bevorzugen, damit es nicht so ein germish wird.
Ein paar Absicherungen im Code koennten auch nicht schaden. Bei Texteingaben wirft dieser Code noch Exceptions. |
Re: Zur Laufzeit erstellte Komponenten eindeutig erkennen
Absicherung ist klar
Value nehme ich nie, da property Set... damit arbeitet und irgendwann, irgendwo, irgendwie doch mal was schief geht |
Re: Zur Laufzeit erstellte Komponenten eindeutig erkennen
Hat eine Weile gedauert, bis ich meine Strukturen soweit umgebaut hatte, aber jetzt funzt es. Danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:57 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