![]() |
Objekte von ScrollBox löschen
ich hab folgendes Problem:
in einer Schleife erstelle ich Objekte auf einer ScrollBox, da das aber mehrere Male möglich sein soll muss ich die Objekte erst alle wieder löschen bevor man wieder neu anfangen kann da das relativ viele sind, dachte ich es sei einfacher die ganze ScrollBox zu löschen und nacher wieder zu erstellen hat nur leider nicht ganz so funktioniert wie ich mir das vorgestellt hab hier mal der code mit dem ichs versucht hab
Delphi-Quellcode:
ich steh im Moment ziemlich aufm Schlauch kann mir bitte jemand helfen
var
ScrollBox1: TScrollBox; lokale_suche_2: TTabControl; begin //ScrollBox löschen und neu erstellen ScrollBox1.Free; with ScrollBox1 do begin ScrollBox1 := TScrollBox.Create(self); Parent := lokale_suche_2; Top := 48; Left := 8; Height := 233; Width := 489; BevelEdges := [beRight,beBottom]; BevelInner := bvRaised; BevelKind := bkNone; BevelOuter := bvLowered; BevelWidth := 1; BorderStyle := bsNone; end; end; |
Re: Objekte von ScrollBox löschen
die beste Variante ist das du dir die Objecte welche du erstellst in einer Liste (TObjectList) speicherst bzw. in einem normalen Array. Alternativ kannst du noch mit Scrollbox.ControlCount und Scrollbox.Controls[] alle Controls durchlaufen und freigeben.
|
Re: Objekte von ScrollBox löschen
Du musst die Objekte die du erstellst trotzdem wieder freigeben, einfach denn parent zu löschen reicht nicht !
Was fügst du denn der Scrollbox alles hinzu ? gruss |
Re: Objekte von ScrollBox löschen
Sind nur images und labels
aber die haben alles die gleichen namen weil ich sie in ner schleife erstell und wenn ich my_label.free; mach wird immer nur das letzte gelöscht kann man irgendwie in den namen des labels eine vaiabele einfügen die dann hochzählt, zB label1, label2,... |
Re: Objekte von ScrollBox löschen
Hallo,
SirThornberry hat es im Beitrag #2 bereits gesagt: du mußt dir die Zeiger auf die erstellten Objekte in einem Array merken oder auf das Controls-Array der Scrollbox zurückgreifen. Der folgende Code gibt alle vorhandenenen Elemente in der Scrollbox wieder frei:
Delphi-Quellcode:
Gruß Hawkeye
var ii : Integer;
for ii := Scrollbox.ControlCount - 1 downto 0 do ScrollBox.Controls[ii].Free; |
Re: Objekte von ScrollBox löschen
vielen Dank
funzt super |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 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