Das machst Du schon ganz richtig.
Zitat:
TDirect3D9 = class;
Das hier ist eine Forward-Deklaration, die genau in Deinem Fall benötigt wird. Und dass sich Units nicht gegenseitig einbinden können, stimmt so nicht. Wenn die erste die zweite im interface- und die zweite die erste im implementation-Abschnitt einbindet, funktioniert das wunderbar.