![]() |
Komponenten-Array zur Laufzeit erstellen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe mich mit dem Thema schon beschäftigt und es ist für mich auch kein Problem, zur Laufzeit eine oder mehrere Komponenten auf einem Formular zu erstellen. Nur nützt mir das für mein geplantes Projekt nichts. Ich habe das Problem, dass ich nicht nur eine, sonder im Grunde unendlich viele - so es der Nutzer wünscht und es der Speicher zulässt - Komponenten erstellen lassen möchte. Deshalb versuche ich es mit einem offenen Array. Verschlimmert wird das ganze dadurch, dass es jeweils Gruppen aus 4 TLabel und 1 TProgressBar sein sollen. Um das zu vereinfachen und nicht jedes TLabel einzeln anlegen zu müssen, versuchte ich das ganze zu kapseln. Jetzt bekomme ich immer Zugriffsfehler. Bis hin dazu, dass sich das Programm ohne den Taskmanager nicht mehr beenden lässt. Kann mir mal bitte jemand auf die Sprünge helfen, was ich falsche mache? Der Quellcode liegt bei. Gruß, Alex |
Re: Komponenten-Array zur Laufzeit erstellen
Der Fehler liegt hier:
Delphi-Quellcode:
besser so:SetLength(Zeile,Anzahl); Zeile[Anzahl]:=TZeile.Create(Form1);
Delphi-Quellcode:
SetLength(Zeile,Anzahl); Zeile[Anzahl-1]:=TZeile.Create(Form1); Desgleichen hier:
Delphi-Quellcode:
Zeile[Anzahl-1].Free; Dec(Anzahl); |
Re: Komponenten-Array zur Laufzeit erstellen
Liste der Anhänge anzeigen (Anzahl: 1)
Danke!
Habe es kapiert. Das offene Array beginnt seine Zählung bei Null. Steht bestimmt auch in der Hilfe :wall: Ich habe aber dennoch 2 Fragen:
Gruß und Dank, Alex |
Re: Komponenten-Array zur Laufzeit erstellen
Zitat:
Delphi-Quellcode:
Procedure TZeile.SetZeichner(IsZeichner: TWinControl);
Begin FZeichner:=IsZeichner; ZUser.Parent := FZeichner; ZAnteil.Parent := FZeichner; ZProzent.Parent := FZeichner; ZDauer.Parent := FZeichner; ZAnzahl.Parent := FZeichner; End; |
Re: Komponenten-Array zur Laufzeit erstellen
Zitat:
Zitat:
Gruß, Alex <- der ratlos ist |
Re: Komponenten-Array zur Laufzeit erstellen
Vielleicht hilft Dir das Video zu
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:49 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