Ich hab mir da jetzt mal sowas gebastelt:
Delphi-Quellcode:
procedure TSteuerung.Aufraeumen();
var i,h:Integer;
begin
for i:=0 to 3 do
begin
h:=0;
while h<hAuto[i].Count do
begin
if TAuto(hAuto[i].Items[h]).IstAusDemBild then
begin
// Auto aus der Liste entfernen
hAuto[i].Delete(h);
// Aus der Variable vom Hintermann löschen wenn vorhanden
if h>0 then TAuto(hAuto[i].Items[h-1]).SetzeAuto(nil);
end
else h:=h+1;
end;
end;
end;
Ich bekomm wieder ne
AV, wahrscheinlich (wie vorher schon gesagt), weil hAuto[i].Count in der while-Schleife nur einmal am Anfang aufgenommen wird und sich dieser Wert bei den nächsten Schleifendurchläufen nicht ändert...
Kann ich mir anders helfen?