AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Units im Interface- oder im Implemention-Teil laden
Thema durchsuchen
Ansicht
Themen-Optionen

Units im Interface- oder im Implemention-Teil laden

Ein Thema von Cyberbob · begonnen am 25. Sep 2007 · letzter Beitrag vom 25. Sep 2007
Antwort Antwort
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#1

Units im Interface- oder im Implemention-Teil laden

  Alt 25. Sep 2007, 00:13
Wo sollte man eigene Units eintragen? Im Interfaceteil oder im Implementationteil.
Macht das eigentlich einen unterschied?

Gruß,
Christian
Christian
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#2

Re: Units im Interface- oder im Implemention-Teil laden

  Alt 25. Sep 2007, 01:23
Es macht einen Unterschied, da die units, die im Interface-Teil angegeben werden, nicht auf sich gegenseitig verweisen dürfen.

Das geht also nicht:
Delphi-Quellcode:
unit unit1;

interface

uses unit2;
Delphi-Quellcode:
unit unit2;

interface

uses unit1;
Im Implementation-Teil jedoch dürfen sich units gegenseitig einbinden.

Ich wende immer folgende Faustregel an:
Wenn die unit Klassen oder Funktionen enthält, also mehr eine Bibliothek ist, dann kommt sie in den Interface-Teil.
Wenn eine unit Funktionen für ein Formular enthält, kommt es in den Implementation-Teil, da diese sich bei mir gerne mal gegenseitig einbinden müssen.


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: Units im Interface- oder im Implemention-Teil laden

  Alt 25. Sep 2007, 02:13
Zitat von Flare:
...Wenn eine unit Funktionen für ein Formular enthält, kommt es in den Implementation-Teil, da diese sich bei mir gerne mal gegenseitig einbinden müssen.
Was auf schlechtes Programmdesign schließen lässt. Das macht man nur in Notfällen.
Gruß
Hansa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Units im Interface- oder im Implemention-Teil laden

  Alt 25. Sep 2007, 06:39
Zitat:
Was auf schlechtes Programmdesign schließen lässt. Mr. Green
Beziht sich natürlich auf das gegenseitige Einbinden nicht auf den Implementation-Teil.
Im Interface gehört alles nicht-private bzw. die Units der Komponenten, welche du auf der Form hast oder du in Einstellungen des OI referenzierst.
Markus Kinzler
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Units im Interface- oder im Implemention-Teil laden

  Alt 25. Sep 2007, 06:48
Zitat von Hansa:
Zitat von Flare:
...Wenn eine unit Funktionen für ein Formular enthält, kommt es in den Implementation-Teil, da diese sich bei mir gerne mal gegenseitig einbinden müssen.
Was auf schlechtes Programmdesign schließen lässt. Das macht man nur in Notfällen.
Leider muß ich bestätigen, dass auch mir das manchmal passiert. Ich binde dann die entsprechenden Units vorrangig dort im Implementationteil ein, wo Typen, Klassen oder sonstiger offentlicher Teil nur im Implementationteil der einbindenden Unit verwendet werden.

Erstes Ziel ist es bei mir aber auch überkreuzende Bezüge zu vermeiden. Ich mache dann eher aus zwei Units eine, wass eh nur bei Klassendeklarationen passiert, wo ich dieses in zwei Units geschrieben hatte, weil mir eine zu groß wurde. Ich muß aber zugeben, dass mit einer ordentlichen Strukturierung das Problem umgangen werden kann. Manchmal ist man aber einfach zu faul das im Nachgang zu beheben und "trickst" dann auch mal rum (was einem nach murphi so-und-so auf die Füße fällt, dass aber dann später ).


Gruß oki
42
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Units im Interface- oder im Implemention-Teil laden

  Alt 25. Sep 2007, 07:38
Zitat von Hansa:

Was auf schlechtes Programmdesign schließen lässt. Das macht man nur in Notfällen.
Oder auf den Umstand hinweist, das D2007 nach wie vor ein Einpasscompiler ist und nicht mit Namensräumen umgehen kann.
Einpass war mit 64kbyte Speicher und Z80 CPU ein Fortschritt, heute nur noch ein Klotz am Bein.


Gruß
Peter
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Units im Interface- oder im Implemention-Teil laden

  Alt 25. Sep 2007, 08:45
Zitat von oki:
Erstes Ziel ist es bei mir aber auch überkreuzende Bezüge zu vermeiden. Ich mache dann eher aus zwei Units eine, wass eh nur bei Klassendeklarationen passiert, wo ich dieses in zwei Units geschrieben hatte, weil mir eine zu groß wurde. Ich muß aber zugeben, dass mit einer ordentlichen Strukturierung das Problem umgangen werden kann. Manchmal ist man aber einfach zu faul das im Nachgang zu beheben und "trickst" dann auch mal rum (was einem nach murphi so-und-so auf die Füße fällt, dass aber dann später ).
Ich mache dann aus zwei Units meistens drei.
Die dritte enthält dann die gemeinsam genutzen Teile.
In der Regel hab ich aber schon eine Definitions-Unit. Dann kommt das Zeugs dort rein.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  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 20:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz