Zitat von
BenBE:
Einfachste und sauberste Lösung:
Forward-Deklaration von TClass2
Deklaration von TClass1
Deklaration von TClass2
Alles in eine
Unit packen.
Anders geht's nicht!
Es geht anders, einfacher und sauberer!
Einfacher ist in dem Moment relativ.
Ich persönlich finde es grob unsauber und unhadlich wenn:
- mich eine Klasse, zwingt eine andere in der gleichen Unit zu deklarieren
- ich auch immer diese zweite Klasse überall mitscheleifen muss, wo Klasse1 benutzt wird
- Interface und Implemetierung im Chaos untergehen
Einfach mal einen Blick in Classes.pas werfen. Dann sieht man sehr schnell wie einfach man sich mit Forward declares beide Hände fesselt und die Units ins grenzenlose wachsen lassen.
Nobodys Weg zeigt absolut in die richtige Richtung.
Zwei Möglichkeiten dazu findet man hier:
http://www.delphipraxis.net/internal...=359178#359178
@Nobody, statt TComObject wären TInterfacedObject, TContainerObject oder TAggregatedObject bessere Basisklassen für die Implementierung von Interfaces.
(Außerdem werden sie schon in System deklariert
)