Difference between revisions of "IDE Window: Unit info/de"

From Lazarus wiki
Jump to navigationJump to search
 
m
Line 54: Line 54:
 
== Show CodeTools Values ==
 
== Show CodeTools Values ==
  
Siehe [[IDE Window: Codetools Directory Values|Codetools Directory Values]]
+
Siehe [[IDE Window: Codetools Directory Values/de|Codetools Directory Values]]

Revision as of 10:01, 22 July 2006

Deutsch (de) English (en) français (fr)

Dieser Dialog zeigt verschiedene Informationen der aktuellen Datei im Quelltexteditor.

General

  • Name: der Unit-Name wie er im Quellcode geschrieben ist. Ansonsten ist es der Dateiname ohne Erweiterung und Pfad.
  • Typ: Der highlighter Typ. Dies kann geändert werden im Popup Menü des Quelltexteditors.
  • im Projekt: Wenn die Datei Teil des Projekts ist. Dies kann geändert werden im Projektinspektor oder den Projekt -> Aufnehmen/Entfernen Menüeinträgen.
  • Größe: Größe der Datei in Bytes.
  • Zeilen: Anzahl der Quellcodezeilen.
  • Path: Vollständiger Dateiname.
  • Eingebunden von: Diese Datei wurde das letzte Mal einbezogen von dieser Quellcodedatei. Zum Beispiel mittels einer {$I filename.inc} Include Direktive. Dies wird automatisch gesetzt jedes Mal wenn die IDE die Unit mit der Include Direktive analysiert. Sie können das löschen mit der Leeren Schaltfläche. Sie können Suche -> Zu Include Direktive springen verwenden um zur Include Direktive der Vorgängerdatei zu springen.
  • Leeren: Diese Schaltfläche leert die 'Eingebunden von'.

Unit paths

Dies sind die Unitpfade, die von der IDE für diese Datei verwendet werden. Die Unitpfade werden verwendet zur Suche nach .ppu, .pas, .pp, .p Dateien. Normalerweise werden diese Pfade an den Compiler gegeben. Aber es gibt Fälle, wo dies nicht der Fall ist. Und es zeigt nicht die Unitpfade, die in der Compiler Konfigurationsdatei (fpc.cfg) definiert sind.

Diese Pfade werden erzeugt durch die Regeln in Einstellungen -> CodeTools Defines Editor. Alle Dateien in einem Verzeichnis benutzen die selben Suchpfade (unit paths, include paths, ...). Wenn dies ein Projektverzeichnis ist, werden alle Projekt-Unitpfade hinzugefügt. Wenn das Verzeichnis zu einem Package gehört, werden dessen Unitpfade hinzugefügt. Wenn sie ein Projekt und ein Package in ein Verzeichnis packen, werden beide Pfade hinzugefügt. Deshalb wird empfohlen, Packages und Projekten eigene Verzeichnisse zu geben.

Unterschied zwischen Compiler Suchpfaden und IDE Suchpfaden: Normalerweise ist der Unterschied ohne Bedeutung. Der Compiler wird aufgerufen in einem Verzeichnis mit einer Reihe von Suchpfaden. Zum Beispiel: Es gibt 4 Packages:

 /home/user/package1/package1.lpk
 /home/user/package2/package2.lpk
 /home/user/package3/package3.lpk verwendet package1 und package2
 /home/user/package4/package4.lpk verwendet package1 und package2

Package3 ist kompiliert in /home/user/package3 mit dem Unitpfad /home/user/package1/;/home/user/package2/. Wenn der Compiler eine Unit findet in /home/user/package2/ und sie kompiliert, wendet er alle Unitpfade an, inklusive dem Pfad zu /home/user/package3/. Dies ist normalerweise nicht gewollt und deshalb definiert ein Standardpackage ein Ausgabeverzeichnis. Aber für dieses Beispiel nehmen wir an, daß das Package seine .ppu Dateien in das Quellverzeichnis kompiliert.

Wenn der Compiler aufgerufen wird für package4 wird er gestartet in einem anderen Verezichnis mit anderen Suchpfaden. Hier wird er aufgerufen in /home/user/package4 mit dem Unitpfad /home/user/package1/;/home/user/package2/. Wenn der Compiler eine Unit findet in /home/user/package2/ und sie kompiliert, wendet er alle Unitpfade an, inklusive dem Pfad zu package4. Das bedeutet, daß der Compiler die Units in package2 mit zwei unterschiedlichen Unitpfaden kompiliert. Dies ist normalerweise eine schlechte Idee, weil das Ergebnis von der Reihenfolge abhängt - ob sie zuerst package3 kompilieren und dann package4 oder anders herum. Aber in der realen Welt (z.B. der Delphi Welt) ist das verbreiteter als mancher annehmen würde. Es ist klar, daß wenn Packages Units mit dem selben Namen enthalten, die Reihenfolge der Dateipfade in den Suchpfaden wichtig wird.

Die IDE löst dies indem sie die Suchpfade für jedes Verzeichnis sammelt. Das bedeutet zum Beispiel, daß die Suchpfade für die Lazarus Quellen ihre eigenen Unitpfade haben und nicht die Unitpfade zu ihrem Projekt enthalten. Ein Verzeichnis, das nicht Teil ihres Projekts ist, enthält nicht die Unitpfade ihres Projekts. Auf diese Weise können sie Delphi VCL Quellen und Lazarus LCL Quellen durchsuchen, die beide Units mit den selben Namen enthalten.

Include paths

Dasselbe wie Unitpfade, aber für die Includepfade. Suchpfade für Include Direktiven {$I filename.inc} oder {$INCLUDE filename.inc}.

Source paths

Dies ist der Unitpfad plus den kompilierte Quellen Pfade. Zum Beispiel:

 /home/user/project
 /home/user/package/lib

Das Projekt verwendet das Package. Die Package Quelldateien sind in /home/user/package und die Ausgabedateien (.ppu) des Packages sind in /home/user/package/lib abgelegt. Der Unitpfad des Projekts wird den Pfad zum Ausgabeverzeichnis des Packages enthalten - /home/user/package/lib. Wenn der Compiler aufgerufen wird um das Projekt zu kompilieren, findet er die .ppu Dateien des Packages, aber nicht die die Quellen (.pas) des Packages. Aus diese Weise kann er das Package nicht rekompilieren, was gut ist, weil die Compilereinstellungen des Projekts wahrscheinlich anders sind als für das Package. Die IDE sollt die Quelldateien (.pas) finden. Sie weiß, das /home/user/package/lib das Ausgabeverzeichnis des Packages ist, daher fügt sie die Unitpfade des Packages zum Quellenpfad des Projekts hinzu. Diese Hinzufügung wird compiled source path genannt.

Show CodeTools Values

Siehe Codetools Directory Values