Dein Problem ist der Kreuzbezug zwischen den Klassen TKnoten und TKante. Gehen wir mal der Einfachheit halber davon aus, dass beide in der gleichen Unit definiert sind, dann gibt folgendes einen Fehler:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| TKnoten = class private k : TKante; end;
TKante = class private n : TKnoten; end; |
, da bei Deklaration von TKnoten die benötigte Klasse TKante noch unbekannt ist.
Das lässt sich lösen, wenn man erst einmal eine der beiden Klassen im Vorfeld namentlich bekannt macht und die tatsächliche Deklaration hinten anstellt. Siehe:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| TKante = class;
TKnoten = class private k : TKante; end;
TKante = class private n : TKnoten; end; |