I run into what seems to be a very classical problem: An item and a collection class, both referencing each other, that require a forward declaration. I\'m using Delphi 2010
You can work around it by declaring an ancestor class:
type TBaseElement = class end; TMyCollection = class end; TMyElement = class(TBaseElement) private FParent: TMyCollection; end;