Ich erzeuge zur Laufzeit komponenten
Delphi-Quellcode:
RzStatusPane[i] := TRzStatusPane.Create(self);
RzStatusPane[i].Parent := rzpanel73;
RzStatusPane[i].Left := LeftPos;
RzStatusPane[i].Top := TopPos;
RzStatusPane[i].Width := 125;
Rzstatuspane[i].ParentFont := True;
Rzstatuspane[1].Name := 'rzstatuspane'+inttostr(i);
RzStatusPane[i].Caption:= Produkt+': '+produktanz;
Inc(TopPos,22);
Darauf stehen statusinformationen. Wenn diese Informationen sich ändern muss ich diese prozedur erneut aufrufen. Dabei werden aber neue RzStatuspanes erzeugt. um das zu verhindern mache ich folgendes:
Delphi-Quellcode:
for i := 1 to 40 do
if rzpanel73.FindComponent('rzstatuspane'+IntToStr(i)) as Trzstatuspane <> nil
then begin
rzstatuspane[i].Free;
rzstatuspane[i] := nil;
end;
rzpanel73.Update;
aber das funktioniert nicht. die statuspanes werden nicht gelöscht vom panel weil die schleife nicht ausgeführt wird. also wird die kommponente nicht gefunden.
Weis jemand woran das liegt ?