Zitat von
Sir Rufo:
Da braucht kein Compiler irgendwas optimieren und die Diskussionen werden gespart
Das ist aber von der Ausführungsgeschwindigkeit die langsamste Variante, da er so mit jedem gelöschten Element erstmal alle nachfolgenden Elemente eins nach vor schieben muss. Dieser Weg ist am uneffektivsten. Wenn, dann so und es läuft auch schnell ab:
Delphi-Quellcode:
while Panel1.ControlCount > 0 do
begin
showmessage(Panel1.Controls[Pred(Panel1.ControlCount)].name);
Panel1.Controls[Pred(Panel1.ControlCount)].free;
Application.ProcessMessages;
end;
/EDIT: Hat Peinhard ja doch schon erwähnt...