![]() |
Zur Laufzeit erzeugtes Objekt ansprechen
Hallo Gemeinde.
Zur zeit programmiere ich mal wieder an meiner Artikelverwaltung herum. (man muss ja etwas tun :-) ) Ich erzeuge zur laufzeit Edit-Felder welche auch einen Namen bekommen. Nur wie kann ich diese auch ansprechen, um die Werte auszulesen.
Delphi-Quellcode:
Der Name wäre also edLIEFTXT100.
with TPBEdit.Create(frmARTIKELEDIT) do begin
Parent := self; ReadOnly := true; Name := 'edLIEFTXT100'; AutoSize := false; Font.Size := 9; Font.Color := clNavy; Left := 8; Top := 5; Width := 393; Height := 23; Parent := LiefPanel end; Nun will ich edLIEFTXT100.Text lesen. Wie kann man dies bewerkstelligen? MFG, Ronny |
Re: Zur Laufzeit erzeugtes Objekt ansprechen
Hallo,
Du hast Dir die Antwort doch schon selber gegeben:
Delphi-Quellcode:
edLIEFTXT100.Text
|
Re: Zur Laufzeit erzeugtes Objekt ansprechen
Hi,
Delphi-Quellcode:
Gruß
TEdit(FindComponent('edLIEFTXT100')).Text := 'halloo';
Neutral General |
Re: Zur Laufzeit erzeugtes Objekt ansprechen
Entweder du hast eine Referenz auf den Speicherbereich, oder du suchst bei dem entsprechenden owner nach dem Namen:
Delphi-Quellcode:
edit: @Neutral General: Bitte mit as
(Form1.FindComponent('edLIEFTXT100') as TEdit).Text := 'bla';
|
Re: Zur Laufzeit erzeugtes Objekt ansprechen
Wenn du die Objekte später noch einmal brauchst, solltest du sie in einem Feld deiner Formularklasse speichern. Dann kannst du vorgehen, wie es s-off vorgeschlagen hat. Andernfalls brauchst du FindComponent, was aber aus Geschwindigkeitsgründen unbedingt vermieden werden sollte.
|
Re: Zur Laufzeit erzeugtes Objekt ansprechen
hi,
dazu setzt du eine Variable (als Member einer Form oder auch als globale Variable) und erzeugst daraus dein Feld könnte so aussehen:
Delphi-Quellcode:
rollstuhlfahrer
var edLIEFTXT100: TPBEdit;
begin // with TPBEdit.Create(frmARTIKELEDIT) do begin <-- Das hier nicht edLIEFTXT100 := TPBEdit.Create(frmARTIKELEDIT); with edLIEFTXT100 do //... end; PS: ich dann mal auch |
Re: Zur Laufzeit erzeugtes Objekt ansprechen
Mit den Vars wollte ich auch schon so machen.
Jedoch erstelle ich in einer Scrollbox Panels mit Editfeldern. Ich muss jedoch für jeden Lieferanten eine Zeile mit je 4 Feldern erzeugen und da die sich immer mal ändern, kommen neue dazu oder es fällt einer weg, werde ich es erstmal mit der FindComponent-Vairante von Neutral General probieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 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