Zitat von
omata:
Nur weil etwas geht ist es noch lange nicht sinnvoll.
Die Hinweise, die hier gegeben wurden sind zwar richtig, allerdings nicht sinnvoll.
Solche Zirkelschlüsse sind niemals nötig, wenn man so etwas braucht, hat man etwas grundlegendes falsch gemacht.
Hi omata,
das zirkuläre Bezüge grundsätzlich zu vermeiden sind, aus allen hier benannten Gründen und noch vielen mehr, ist unbestritten. Zu behaupten, dass das nicht sinnvoll ist halte ich aber für Falsch. Leider läßt sich das auch bei sauber Strukturierung nicht immer vermeiden.
Ein Beispiel:
Du proggst ein eigenes Control, dass auf seiner Oberflächen einen Button für ein eigenes Property-Form hat. Somit beinhaltet die
Unit in der du deine Komponente schreibst einen Bezug auf die Property-Form-
Unit. Diese benötigt jetzt aber einen Bezug auf deine Komponenten, wenn sofort nach dem ändern eines Wertes die Komponente direkt aktualisiert werden soll ohne das Fenster zu schließen.
Dann bin ich gezwungen die
Unit der Form im Implementationteil einzubinden, da das Formular ja durch die Komponente kreiert wird. Die
Unit der Komponente binde ich im interface-Teil der Form ein, da ich die Instanz des Controls für die Wertezuweisung im Formular brauche.
Die zirkulären Bezüge in diesem Bsp. sind glücklicherweise überschaubar und
imho zu verkraften. Wenn du da eine bessere Lösung anbieten kannst, schau ich mir gerne an.
Gruß oki