Thema: Delphi Unit Aufbau

Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#5

Re: Unit Aufbau

  Alt 21. Mär 2006, 15:02
Hi,
gute Erkenntnis! Aber da gibt es noch ein wenig zu ergänzen.

Das man die Unit-namen nicht voran stellen muss, ist zwar soweit richtig. Trotzdem gibt es auch die Möglichkeit dies zu tun, bleibt die Frage warum?! Zu der Erkenntnis kommst du ganz leicht, wenn du mal zwei gleich benannte Funktionen/Prozeduren/Klassen/Konstanten/.... hast. Sagen wir der Einfachheit halber, du hast 2 Units, die eine Konstante CFILE_NAME besitzen. Seien nun beide Units in der Unit Unit3 eingebunden. Jetzt möchtest du gucken ob die beiden CFILE_NAME Werte gleich sind. Problem gibst du CFILE_NAME ein, hast du einen Wert, doch welchen? In Delphi wird das durch die Reihenfolge in der uses bestimmt (letztere sind immer "wichtiger"). Also ist es einfach sauberer / sicherer den Unitnamen voran zu stellen.

Eine andere Sache ist dass man Methoden nur in der gleichen Unit benutzen darf. Es würde natürlich wenig Sinn machen, zumal du schon einen Haufen Units in deinem Form automatisch eingebunden hast. Könntest du hiervon keine Methode benutzen, nun ja...
Es gibt einen Mechanismus, der ein wenig den Sichtbarkeiten von Klassen entspricht. Wie du in deinen Formularen siehst, gibt es zwei Abschnitte in einer Unit, Interface und Implementation.
Der Interface Teil dient der veröffentlichung von Schnittstellen (Interface). Hier wird alles das eingetragen, was nach aussen (ausserhalb der Unit) auch sichtbar ist. Natürlich sind Typdeklarationen und Konstanten auch in der gesamten Unit sichtbar.
Der Implementation Teil dient der Implementierung. Hier kommt also der Code rein. Jede nicht abstrakte, nicht geforwardete und nicht externe Prozedur/Funktion muss im Implementationteil implementiert werden.
Diese Methoden müssen implementiert werden, aber du kannst auch weitere anlegen. Diese sind dann nicht von aussen zugänglich (das Phänomen, auf dass du gestossen bist). Sie werden einfach als Hilfsmethoden für die anderen benutzt.

Gruß Der Unwissende
  Mit Zitat antworten Zitat