Solche wechselseitigen Beziehungen sind nur lösbar, wenn du entweder in einer Klasse ein unspezialisierte Instanz hälst (TObject) und in den Implementationen dann immer castest. Andere Möglichkeit wäre es, beide Klassen in einer
Unit zu deklarieren, dann würde die Forwarddeklaration auch funktionieren. Diese muss grundsätzlich in der
Unit noch aufgelöst werden, wo sie deklariert worden ist (also die Klasse muss darin auch noch definiert werden).