Ich habe ein kleines Problem mit Schnittstellen. Hier ist es in Pseudo-Code:
type
Interface1 = interface
end;
Interface2 = interface
end;
TParentClass = class(TInterfacedObject, Interface1)
private
fChild : Interface2;
public
procedure AddChild(aChild : Interface2);
end;
TChildClass = class(TInterfacedObject, Interface2)
private
fParent : Interface2;
public
constructor Create(aPArent : Interface1);
end;
Kann jemand den Fehler erkennen? Ich brauche das Kind, um einen Verweis auf seine Eltern zu haben, aber die Referenzzählung funktioniert in dieser Situation nicht. Wenn ich eine ParentClass-Instanz erstelle und ein Kind hinzufüge, wird die Elternklasse nie freigegeben. Ich kann sehen, warum. Wie kann ich das Problem umgehen?