![]() |
AW: Wie kann man ein Array leeren?
Google, Sucher, erster Treffer: "delphi TObjectList"
|
AW: Wie kann man ein Array leeren?
Ist das zuviel verlangt, einmal einen Blick in die Hilfe oder die DP-Suchfunktion zu werfen? Ich meine, XE 2 Architect im Profil und sich dann alles vorkauen zu lassen geht irgendwie nicht zusammen, oder?
|
AW: Wie kann man ein Array leeren?
Oder
![]() |
AW: Wie kann man ein Array leeren?
Hab ich doch sogar schon verlinkt ;)
|
AW: Wie kann man ein Array leeren?
|
AW: Wie kann man ein Array leeren?
Sorry aber in all diesen Links war keine einzige Antwort zu meiner Frage :(.
Ich habe auch schon in google gesucht. |
AW: Wie kann man ein Array leeren?
So?
Zitat:
|
AW: Wie kann man ein Array leeren?
Danke ich weiß aber immer noch net.
Ich ich ein bestimmtes objekt einbinde. Add(TButton) funktioniert net Add(Labels[zahl]) funktioniert auch net wie mache ich das? |
AW: Wie kann man ein Array leeren?
Hier die Deklaration
Delphi-Quellcode:
uses
Contnrs; // statt Labels : array[0..100] of TLabel; type TForm1 = class( TForm ) .. private Labels : TList; end; .. implementation .. procedure TForm1.FormCreate( Sender : TObject ); begin Labels := TObjectList.Create; end; procedure TForm1.FormDestroy( Sender : TObject ); begin // Alle enthaltenen Objekte (hier die Labels) werden automatisch entsorgt Labels.Free; end; procedure TForm1.Button1Click( Sender : TObject ); var idx : integer; lbl : TLabel; begin for idx := 1 to 100 do begin lbl := TLabel.Create( nil ); // keinen Owner angeben!!! Die Labels-Liste kümmert sich um die Freigabe! lbl.Parent := Self; // oder wer auch immer lbl.Caption := 'Hallo'; .. Labels.Add( lbl ); end; end; |
AW: Wie kann man ein Array leeren?
Poste mal deinen Code.
Ich glaube, Du hast die 100 Label erzeugt und willst nun, das sie wieder verschwinden. Da reicht es natürlich nicht das Array oder die Liste oder die Objektliste oder was auch immer dein Container ist, zu nullen. Um die Label zu erzeugen, instantiierst Du sie mit dem Konstruktor. Um die Label zu entfernen, gibst Du es mit dem Destruktor frei. Um ein Label unsichtbar zu machen, setzt Du Visible auf False oder entfernst den Text (Caption). Der Konstruktor heißt Create, und der Destruktor heißt... Destroy. Und weil Delphi nun mal ein wenig rumgefrickelei ist, verwendet man nicht den Destruktor direkt, sondern etwas, das viel toller ist, nämlich "Free". Das macht das Gleiche, prüft aber vorher auf Nil. Wenn Du das hier nicht verstanden hast, solltest Du erst einmal die grundlegenden Grundlagen von Delphi lernen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:01 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