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!