Einzelnen Beitrag anzeigen

BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Probleme beim freigeben von Komponenten

  Alt 22. Mär 2010, 12:28
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 ?
  Mit Zitat antworten Zitat