AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Objekte von ScrollBox löschen

Ein Thema von meg91 · begonnen am 26. Apr 2006 · letzter Beitrag vom 27. Apr 2006
Antwort Antwort
Benutzerbild von meg91
meg91

Registriert seit: 25. Apr 2006
131 Beiträge
 
Turbo Delphi für Win32
 
#1

Objekte von ScrollBox löschen

  Alt 26. Apr 2006, 20:14
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:
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;
ich steh im Moment ziemlich aufm Schlauch kann mir bitte jemand helfen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Objekte von ScrollBox löschen

  Alt 26. Apr 2006, 20:32
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Objekte von ScrollBox löschen

  Alt 26. Apr 2006, 20:35
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
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von meg91
meg91

Registriert seit: 25. Apr 2006
131 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Objekte von ScrollBox löschen

  Alt 26. Apr 2006, 22:16
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,...
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Objekte von ScrollBox löschen

  Alt 26. Apr 2006, 22:37
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:
var ii : Integer;

for ii := Scrollbox.ControlCount - 1 downto 0 do
  ScrollBox.Controls[ii].Free;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von meg91
meg91

Registriert seit: 25. Apr 2006
131 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Objekte von ScrollBox löschen

  Alt 27. Apr 2006, 15:25
vielen Dank
funzt super
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz