![]() |
Auf Komponenten zugreifen
Hallo,
habe eine kurze Frage. Wie kann ich, wenn ich über eine Variable vom Typ TEdit zur Laufzeit mehrere Editfelder mit einem Button erstelle auf zum Beispiel das dritte Editfeld zugreifen ? Danke! mfg skunker |
Re: Auf Komponenten zugreifen
wenn du dir die referenz zu dem 3. TEdit nicht gemerkt hast, nur noch über TForm.components/controls
ist aber besser sich die referenzen zu merken (z.B. in nem array of TEdit oder in ner TList) HTH |
Re: Auf Komponenten zugreifen
Ok, und wie mach ich das genau ?
Hab sowas noch nie zuvor gemacht. |
Re: Auf Komponenten zugreifen
das sollte es veranschaulichen...
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer; begin for i:=0 to controlcount -1 do begin if (controls[i] is TEdit) then TEdit(controls[i]).Text:='blah'; end; end; |
Re: Auf Komponenten zugreifen
ja aber schon das erstellen bricht bei mir ab, bzw. ich bekomme ExceesViolation beimklick auf den Button.
Delphi-Quellcode:
oben natürlich editlist: array of TEdit;
editlist[i] := TEdit.Create(self);
editlist[i].Parent := self; editlist[i].Align := alTop; Inc(i); |
Re: Auf Komponenten zugreifen
Delphi-Quellcode:
i := 0;
... inc(i); setlength(editlist,i); ... |
Re: Auf Komponenten zugreifen
ok in formreate i:= 0 und in der procedur:
Delphi-Quellcode:
funzt. Ich kann edits erstellen.
Inc(i);
setlength(editlist,i); editlist[i] := TEdit.Create(self); editlist[i].Parent := self; editlist[i].Align := alTop; Wenn ich jetzt mit editlist[3].text= 'Holla'; was in das 3 Feld machen will passiert nichts. |
Re: Auf Komponenten zugreifen
dynamische arrays fangen bei 0 an ? kann es daran liegen ?
|
Re: Auf Komponenten zugreifen
nein ich hab 10 edits.
|
Re: Auf Komponenten zugreifen
sicher das 10 edits auf dem Formular sind eigentlich muss man die doch sichtbar schalten
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 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 by Thomas Breitkreuz