Einzelnen Beitrag anzeigen

decibel666

Registriert seit: 27. Okt 2012
10 Beiträge
 
#4

AW: Dynamisch erzeugte Komponente wieder freigeben

  Alt 17. Dez 2014, 14:34
Hallo!

Habe da ein ähnliches Problem :

Ich erzeuge dynamisch eine Anzahl von TLabels. Will die dann wieder komplett löschen und beim nächsten Durchlauf der Proztedur wieder neu erzeugen .

die Code ist Folgender :

Code:
  For k:=1 TO 4 DO BEGIN

   labeltest[k] := TLabel.Create(self);

           with labeltest[k] do
           begin

             name:='labeltest'+inttostr(k);
             caption:='ich bin label nummer :'+inttostr(k);
             Parent := self;
             AutoSize := true;
             font.style := [fsUnderline];
             cursor := crHandPoint;
             left:=254;
             top := 700+(10*k);

           end;
  end;
Zum löschen der vorher generieten Labels wollte ich folgendes verwenden :

Code:
  For k:=1 TO 4 DO BEGIN
     labeltest[k].Free;
     labeltest[k] := NIL;
  END;

Die existierenden Labels werden aber scheinbar nicht gelöscht weil beim 2.Durchlauf kommt die Fehlermeldung das die Komponente mit der Bezeinhnung labeltest1 (Das erste erzeugte Label) bereits existiert !

villiecht hat ja jemand einen Tipp was ich falsch mache !

vielen Dank!
  Mit Zitat antworten Zitat