AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Trick um "überkreuzenden Bezug" von Units zu umgehen ?
Thema durchsuchen
Ansicht
Themen-Optionen

Trick um "überkreuzenden Bezug" von Units zu umgehen ?

Offene Frage von "dartrax"
Ein Thema von stoxx · begonnen am 5. Okt 2004 · letzter Beitrag vom 8. Mai 2005
Antwort Antwort
Robert_G
(Gast)

n/a Beiträge
 
#1

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

  Alt 5. Mai 2005, 19: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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz