Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Auf Komponenten zugreifen (https://www.delphipraxis.net/70224-auf-komponenten-zugreifen.html)

skunker 27. Mai 2006 01:20


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

_frank_ 27. Mai 2006 01:29

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

skunker 27. Mai 2006 01:43

Re: Auf Komponenten zugreifen
 
Ok, und wie mach ich das genau ?
Hab sowas noch nie zuvor gemacht.

_frank_ 27. Mai 2006 01:46

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;

skunker 27. Mai 2006 01:54

Re: Auf Komponenten zugreifen
 
ja aber schon das erstellen bricht bei mir ab, bzw. ich bekomme ExceesViolation beimklick auf den Button.

Delphi-Quellcode:
editlist[i] := TEdit.Create(self);
editlist[i].Parent := self;
editlist[i].Align := alTop;
Inc(i);
oben natürlich editlist: array of TEdit;

pacman1986 27. Mai 2006 01:56

Re: Auf Komponenten zugreifen
 
Delphi-Quellcode:
i := 0;
...
inc(i);
setlength(editlist,i);
...

skunker 27. Mai 2006 02:02

Re: Auf Komponenten zugreifen
 
ok in formreate i:= 0 und in der procedur:

Delphi-Quellcode:
Inc(i);
setlength(editlist,i);
editlist[i] := TEdit.Create(self);
editlist[i].Parent := self;
editlist[i].Align := alTop;
funzt. Ich kann edits erstellen.
Wenn ich jetzt mit

editlist[3].text= 'Holla';

was in das 3 Feld machen will passiert nichts.

pacman1986 27. Mai 2006 02:07

Re: Auf Komponenten zugreifen
 
dynamische arrays fangen bei 0 an ? kann es daran liegen ?

skunker 27. Mai 2006 02:10

Re: Auf Komponenten zugreifen
 
nein ich hab 10 edits.

pacman1986 27. Mai 2006 02:12

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 19:49 Uhr.
Seite 1 von 3  1 23      

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