Ist das korrekt? Müsste es nicht heißen:
Delphi-Quellcode:
procedure TBase.SetChanged(const Value: Boolean);
begin
if FChanged <> Value then
begin
FChanged := Value;
if Value and <FParentObject is TBaseObjectList) then // <<< Änderung hier
TBaseObjectList(FParentObject).Changed := true;
end;
end;
Ja, da hast du natürlich recht. Das Problem ist aber, dass Delphi die Typprüfung
if (FParentObject is TBaseObjectList) then
nicht akzeptiert. Genauso wenig wie die Zuweisung
TBaseObjectList(FParentObject).Changed := true
. Und da suche ich nach einer Möglichkeit, wie ich auf die BasisListe per TypeCast zugreifen kann.
Das mit dem Counter oder der zusätzlichen Liste sind Möglichkeiten, machen die Listenverwaltung aber nicht einfacher.
In meiner Anwendung gibt es 61 TObjectList und von der ein oder anderen noch mehrere Instanzen.