Pack doch einfach alle Autos in eine einzige Liste.
Ja, das hab ich gemacht, wie folgt:
Delphi-Quellcode:
var
WorkingList: TList<TAuto>;
begin
WorkingList := WorkingList<TAuto>.Create;
WorkingList.AddRange(TAutoHerstellerA);
WorkingList.AddRange(TAutoHerstellerB);
WorkingList.AddRange(TAutoHerstellerC);
WorkingList.AddRange(TAutoHerstellerD);
for i:=0 to WorkingList.Count -1 do
begin
if WorkingList[i].FNameOfCar = aCar then
WorkingList[i].FColor := aNewColor;
Break;
end;
WorkingList.Free;
end;
Nachteil: Die Liste muss vor jeder Nutzung neu erstellt ("kombiniert") werden. Gibt es eine Möglichkeit, die Liste dynamisch zu halten, so dass bei Änderung von TAutoHerstellerA automatisch die WorkingList mit aktualisiert wird? Ok, eine Idee für das wären Properties.