Aus welchem Grund?
Das TCollectionItem kennt doch nicht die übergeordnete TCollection. (leider)
Und ich weiß auch nicht, warum es schlecht sein soll, seine Eltern zu kennen.
Ja, das Item kennt seine Liste, aber kennt die TCollection die Klasse, in der sie existiert?
Es sieht bei mir zur Zeit so aus:
Delphi-Quellcode:
unit tuUrlaubskalender;
TUrlabuskalender =
class
Property TEintraege: TEintraege;
property TEintrastypen: TEintragstypen;
propcedure Paint;
end;
----
unit tuEintraege;
TEintraege =
class(TCollection)
...
end;
TEintrag =
class(TCollectionItem)
...
end;
---
unit tuEintragstypen;
TEintragstypen =
class(TCollection)
...
end;
TEintragstyp =
class(TCollectionItem)
...
end;
Wenn jetzt z.B. TUrlaubskalender.Eintraege.Add aufgerufen wird, wie bekommt denn die Klasse TUrlaubskalender das mit, denn hier existiert die Methode Paint.