Einzelnen Beitrag anzeigen

Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Laufzeit: erstellte Editfelder ansprechen

  Alt 6. Okt 2003, 17:23
Das Problem ist, dass die Edit-Klassen erzeugt werden, aber die Klassenvariable nicht gespeichert wird.
Besser wäre es, die Edit-Felder in Arrays zu verwalten. So kannst du ohne Probleme dein Edit-feld anhand des Indexes ansprechen.

So sieht das dann etwa aus:
Delphi-Quellcode:
var
  Feld, Feld1: Array of TEdit;
  Point: Array of TLabel;

     Setlength(Feld, ssgspielergebnisse.RowCount - 1);
     Setlength(Point, ssgspielergebnisse.RowCount - 1);
     Setlength(Feld1, ssgspielergebnisse.RowCount - 1);
     
     x := 70;
     for i := 0 to (sgspielergebnisse.RowCount - 1) do
     begin
        feld[i] := TEdit.Create(PageControl1.Pages[4]);
        point[i] := TLabel.Create(PageControl1.Pages[4]);
        feld1[i] := TEdit.Create(PageControl1.Pages[4]);
        with feld[i] do
        begin
            Parent := PageControl1.Pages[4];
            Height := 22;
            Width := 30;
            Left := 390;
            Top := x;
        end;
        with point[i] do
        begin
            Parent := PageControl1.Pages[4];
            caption := ':';
            Height := 22;
            Width := 5;
            Left := 430;
            Top := x;
        end;
        with feld1[i] do
        begin
            Parent := PageControl1.Pages[4];
            Height := 22;
            Width := 30;
            Left := 450;
            Top := x;
        end;
        x := x + 28;
     end;
Jetzt kannst du z.B. via Feld[3] auf das 4. erzeugte Feld zugreifen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat