Habe ich zwei Klassen:
1. TNode
2. TNodeList
enthält nun TNode selber eine TNodeList (man stelle sich das Konstrukt eines TreeViews vor), so scheint es unmöglich beide Klassen in zwei verschiedenen Units zu implementieren.
type TNodeList = class; // Forward Declaration
TNode = class(TObject)
List : TNodeList;
end;
TNodeList = class(TObject) // hier folgt die Deklaration
...
end;
Die Deklaration/Implementierung von TNodeList MUß in ObjectPascal anscheinend in der selben Unit erfolgen. Besitzen beide Klassen nun noch eine Menge weiterer Felder und Methoden geht das auf Kosten der Übersicht.
Kennt jemand ein Verfahren, wodurch eine Modularisierung doch möglich ist. Vielleicht mittels Compiler-Direktiven, Header-Dateien, etc ?
In C++ ist dergleichen schließlich auch möglich...
1. TNode
2. TNodeList
enthält nun TNode selber eine TNodeList (man stelle sich das Konstrukt eines TreeViews vor), so scheint es unmöglich beide Klassen in zwei verschiedenen Units zu implementieren.
type TNodeList = class; // Forward Declaration
TNode = class(TObject)
List : TNodeList;
end;
TNodeList = class(TObject) // hier folgt die Deklaration
...
end;
Die Deklaration/Implementierung von TNodeList MUß in ObjectPascal anscheinend in der selben Unit erfolgen. Besitzen beide Klassen nun noch eine Menge weiterer Felder und Methoden geht das auf Kosten der Übersicht.
Kennt jemand ein Verfahren, wodurch eine Modularisierung doch möglich ist. Vielleicht mittels Compiler-Direktiven, Header-Dateien, etc ?
In C++ ist dergleichen schließlich auch möglich...
Comment