Einzelnen Beitrag anzeigen

bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#1

Objekte zur Laufzeit erstellen und löschen

  Alt 12. Jul 2006, 12:55
Hi all,

hab ein kleines Problemchen, wo ihr mir hoffentlich weiterghelfen könnt.

Ich hab eine Form, ein Panel, und 2 Buttons.
Button1 erstellt 10 Objekte auf dem Panel.
Button2 soll diese 10 Objekte wieder entfernen.

Hier der Code:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var cb : TCheckBox;
     intI : integer;
begin
  intI := 0;
  while intI < 9 do
  begin
      cb := TCheckBox.Create(self);
      intI := intI + 1;
      cb.Name := 'test'+intTOSTr(inti);
      cb.Visible := true;
      cb.Parent := Panel1;
      cb.Top := intI*20;
  end;
end;


procedure TForm1.Button2Click(Sender: TObject);
var
  i : integer;
begin
  i := 0;
  while i < Panel1.ControlCount do
  begin
      showmessage(Panel1.Controls[i].name);
      Panel1.Controls[i].free;
      Application.ProcessMessages;
      i := i+1;
  end;
end

Das seltsame ist, das nicht alle Checkboxen entfernt werden, sonder nur jede 2.
Wenn ich mir allerdings nur die Namen anzeigen lasse, und die Checkboxen nicht lösche, werden alle ausgegeben


Danke für eure Hilfe,
grüße Ben
  Mit Zitat antworten Zitat