Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#23

Re: Trick um "überkreuzenden Bezug" von Units zu u

  Alt 5. Mai 2005, 20:29
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 )
  Mit Zitat antworten Zitat