AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Suchpfade von Delphi ?

Ein Thema von himitsu · begonnen am 1. Jun 2011 · letzter Beitrag vom 25. Feb 2019
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.316 Beiträge
 
Delphi 12 Athens
 
#1

Suchpfade von Delphi ?

  Alt 1. Jun 2011, 21:14
So, weil es irgendwie anscheinend nirgendwo genau/zusammen stehen zu scheint...

Könnte da mal jemand helfen Licht ins Dunkel zu bringen?

Es gibt doch Unmassen von Pfaden überall im Delphi, aber was ist nun genau wofür und wer nutzt sie wann?



Dafür hatte ich mich mal im Delphi umgesehn und versucht alles zu finden, wo man dafür etwas einstellen kann.
  • Projektoptionen\Delphi-Compiler [#]
    • Ausgabeverzeichnis
      dort landen *.exe und *.dll
    • Ausgabeverzeichnis für Units
      hier landen die *.dcu
      ohne Pfad, werden sie bei der jeweiligen *.pas abgelegt
    • Bedingungen/Conditionals
      Liste mit Compilerschaltern, welche in jede zu kompilierende Unit weitergegeben werden
    • DCP-Ausgabeverzeichnis
      irgendwo müssen doch auch die *.dcp landen
    • Package-Ausgabeverzeichnis
      ebenso die armen *.bpl
    • Suchpfad
      das hier ist wohl für die Suche nach *.pas und *.dcu
      vielleicht auch noch für *.dcp und *.bpl ?
    • Unit-Aliase
      z.B. neue Namen für umbenannte Units
  • Projektoptionen\Delphi-Compiler\Ausgabe - C/C+ [#]
    • C/C++ .bpi-Ausgabeverzeichnis (Package-Importbibliotheken)
      hier landet wohl sowas, wie die C-Variante der BPLs
    • C/C++ .hpp-Ausgabeverzeichnis
      hier landen die C-Header (für die OBJ/LIB/DCU)
    • C/C++ .obj/.lib-Ausgabeverzeichnis
      das Ziel für die C-Variante der DCUs
  • Projektoptionen\Ressourcen-Compiler\Verzeichnisse und Bedingungen [#]
    • Ausgabeverzeichnis für .res-Dateien
      hier landen die *.res
    • Definiert ein Präprozessorsymbol (Release)
      ebenfalls sowas wie eine Liste von Compilerschaltern
    • Include-Dateisuchpfad
      Suchfpfade für Dateien, welche in die RES eingebunden werden
  • Tools\Umgebungsoptionen\Delphi-Optionen\Bibliothek
    • Packageausgabeverzeichnis
      globales Verzeichnis - kann durch die Projektoptionen überschrieben werden
    • DCP-Ausgabeverzeichnis
      globales Verzeichnis - kann durch die Projektoptionen überschrieben werden
    • HPP-Ausgabeverzeichnis
      globales Verzeichnis - kann durch die Projektoptionen überschrieben werden
    • Debug-DCU-Pfad
      hier wird zuerst nach DCUs gesucht, noch vor dem "Suchpfad", wenn z.B. mit Debug-DCUs kompiliert wird (siehe Projektoptionen)
    • Suchpfad
      das hier solle doch die globale Liste sein, welche genutzt wird, wenn der Suchpfad des Projekts nichts fand
    • Bibliothekspfad
      aber was ist dann das bitte?

In den Projektoptionen [#] gibt es von jedem Eintrag mindestens 3 Möglichkeiten
> Basis, Release und Debug

Jeweils "fett", wenn sie vom Vorgänger abweichende Werte enthalten.
- IDE-Option < Basis < Release
- IDE-Option < Basis < Debug

Und dann gibt es nochmal eine Projektvorlage, welche für neue Projekte verwendet wird.
Dazu einfach mal in einem Projekt die gewünschten Optionen einstellen und dann vorm Speichern (Klick auf [OK] des Projektoptionsdialogs) einen Hacken bei "Standard für neue Projekte" machen.






Soooooo, aber wo soll man nun wann etwas eintragen und warum?
Wenn man z.B. eigene Packages erstellt hat, irgendeine Unitssammlung nutzt oder fremde Packages, DCUs, Units usw. einbinden möchte.


Vorallem bei den vielen Suchpfaden kann man sich manchmal nicht so recht entscheiden.



Wie man Vieles davon letztendlich via SVN und FinalBuilder updaten/abgleichen kann, hab ich schon raus, aber nun muß erstmal noch ein Konzept her, was wohin muß.
Und am Ende auch noch zusammen mit http://www.delphipraxis.net/160804-o...ektionfos.html
.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 1. Jun 2011 um 21:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.857 Beiträge
 
Delphi 12 Athens
 
#2

AW: Suchpfade von Delphi ?

  Alt 1. Jun 2011, 22:05
Es gibt den Bibliothekspfad. In dem schaut der Compiler nach um die Units zu finden, die in dem Projekt benutzt werden. Die werden dann zum Kompilieren und Linken benutzt.

Deshalb gehören in den Bibliothekspfad die Verzeichnisse, in denen die kompilierten Versionen der Units liegen, damit die einfach nur gelinkt und nicht unbedingt kompiliert werden müssen.

Der Suchpfad dagegen ist der Pfad, in dem der Debugger zusätzlich zum Bibliothekspfad nach den Quelltextdateien der Units sucht. Das heißt, wenn du z.B. in eine Prozedur hineinsteppst, wird dort nach dem Quelltext dazu gesucht.

Dann gibt es dazu die Debugversion z.B. des Bibliothekspfads, in denen die kompilierten Versionen der Units inkl. Debuginformationen gesucht werden.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.039 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: Suchpfade von Delphi ?

  Alt 1. Jun 2011, 22:41
Dazu gabs neulich auch schon ein QC Eintrag. Ich kann nur empfehlen, die IDE auf englisch umzustellen, hier haben sich nämlich 2 fiese und irreführende Übersetzungsfehler eingeschlichen.

Einmal gibt es in den Environment Options\Delphi Options\Library den Browsing path (mit Suchpfad übersetzt). Das ist der Pfad, wo die IDE die Source Dateien suchst, wenn du Ctrl+Enter auf die Units machst (oder Strg+Click). Außerdem gibt es dort den Library Path. Dort sucht Delphi dcu und pas Dateien für das Kompilieren.

In den Projekt Optionen gibt den Search path (Übersetzung: Suchpfad). Das ist eigentlich das gleiche wie der Library Path aus den Environment Optionen. Das sieht man auch sehr gut, denn dort stehen die Pfade aus dem Library path der Environment Options drin. Zusätzlich dazu kannst du dort für das Projekt noch Pfade hinzufügen.

Beim Schreiben ist mir aufgefallen, dass auch die englische Version etwas verwirren kann - aber ich finde weniger, als 2mal das gleiche Wort zu haben, was aber unterschiedliche Bedeutungen hat.

Übrigens ist es megaätzend, dass sie die Build Konfigurationen lokalisiert haben... hatte neulich plötzlich nen Débogage Verzeichnis, weil das in nem 3rd Party Package so drin stand
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie ( 1. Jun 2011 um 22:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.351 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Suchpfade von Delphi ?

  Alt 9. Mai 2014, 22:20
... jetzt mal Fragen zu XE3

Ich habe eine Projektgruppe
-Exe1
-Exe2
-Exe3
-Package

Package wird von 2 Exen genutzt.

Alle kann ich als Debug- oder Release-Version kompilieren.

Was soll ich aber in den Umgebungsoptionen für Pfade einstellen?
Die DCU´s gibt es ja jeweils in zwei Zielordnern.

Wenn ich Exe1 als Debug-Version erstelle, wie wird dann auch das Package als Debug-Version eingebunden und anders herum eben als Release?
Wird das als abhängiges Package vielleicht automatisch berücksichtigt?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Cashew

Registriert seit: 15. Mär 2017
24 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: Suchpfade von Delphi ?

  Alt 22. Feb 2019, 16:53
Ich hätte hierzu auch mal eine Frage...

Für meine Delphi 10.2.3 IDE habe ich eine zusätzliche Komponente installiert. In den IDE Optionen wurde durch den Komponenten Installer der Bibliothekpfad um das Verzeichnis erweitert in dem sich die *.dcu Dateien der installierten Komponente befinden.

In den IDE Optionen habe ich dann noch zusätzlich den Suchpfad um das Verzeichnis erweitert in dem sich die Source Code Dateien der installierten Komponente befinden. Die Änderung habe ich benötigt, damit ich über STRG+Enter (wenn der Cursor im Unit Namen platziert ist) in die entsprechende Source Code Datei springen kann.

So weit so gut...


Nun möchte ich eine Methode aus dieser Komponente debuggen und habe hierzu einen Breakpoint in der entsprechenden Unit gesetzt. Dieser wird allerding ignoriert. Ich kann hier erst debuggen, wenn ich den Suchpfad des Projektes um das Verzeichnis erweitere, in dem sich die Sourcen der Komponente befinden.

Ist das normal?
What goes arround, comes arround
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.554 Beiträge
 
Delphi 7 Professional
 
#6

AW: Suchpfade von Delphi ?

  Alt 22. Feb 2019, 17:15
Nimm die zu debuggenden Datei(en) doch einfach ins Projekt auf. Dann musst Du nicht an die Pfade und die IDE weiß garantiert, um welche Datei es sich konkret handelt.
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
711 Beiträge
 
Delphi 12 Athens
 
#7

AW: Suchpfade von Delphi ?

  Alt 23. Feb 2019, 12:58
... jetzt mal Fragen zu XE3

Ich habe eine Projektgruppe
-Exe1
-Exe2
-Exe3
-Package

Package wird von 2 Exen genutzt.

Alle kann ich als Debug- oder Release-Version kompilieren.

Was soll ich aber in den Umgebungsoptionen für Pfade einstellen?
Die DCU´s gibt es ja jeweils in zwei Zielordnern.

Wenn ich Exe1 als Debug-Version erstelle, wie wird dann auch das Package als Debug-Version eingebunden und anders herum eben als Release?
Wird das als abhängiges Package vielleicht automatisch berücksichtigt?
Zuerst einmal solltest Du in den Pfadoptionen für die Projekte (falls Du das noch nicht machst) für den Ausgabepfad für Units sowas wie

.\bin\$(Platform)\$(Config)

verwenden (in der Basiskonfiguration) und das auch in den Suchpfad aufnehmen. Damit erzeugt die IDE automatisch separate Unterverzeichnisse für die diversen Konfigurationen.

In deinem Beispiel sind aber die Package und die EXEs unabhaängig voneinander was die Konfigurationen angeht. Das Interface einer Package ist ja immer gleich, egal ob die Package nun mit oder ohne Debug-Infos gebaut wurde. Durch die Angabe von Abhängigkeiten für die Projekte in der Gruppe kannst Du zwar die Reihenfolge beeinflussen, in der die Projekte gebaut werden, wenn Du die ganze Gruppe bauen läßt, aber für jedes Projekt wird dessen aktive Konfiguration gebaut. Es gibt meines Wissens keine Möglichkeit, für eine bestimmte Konfiguration eines Projektes eine Abhängigkeit von einer bestimmten Konfiguration eines anderen Projektes zu definieren.

Was Du aber machen kannst ist einfach zwei Projektgruppen mit den gleichen Projekten zu erstellen, eine mit der Debug-Konfiguration für alle Projekte aktiviert, eine mit der Release-Konfiguration für alle Projekte.
Peter Below
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Suchpfade von Delphi ?

  Alt 23. Feb 2019, 06:14
Es gibt den Bibliothekspfad. In dem schaut der Compiler nach um die Units zu finden, die in dem Projekt benutzt werden. Die werden dann zum Kompilieren und Linken benutzt.

Deshalb gehören in den Bibliothekspfad die Verzeichnisse, in denen die kompilierten Versionen der Units liegen, damit die einfach nur gelinkt und nicht unbedingt kompiliert werden müssen.

Der Suchpfad dagegen ist der Pfad, in dem der Debugger zusätzlich zum Bibliothekspfad nach den Quelltextdateien der Units sucht. Das heißt, wenn du z.B. in eine Prozedur hineinsteppst, wird dort nach dem Quelltext dazu gesucht.

Dann gibt es dazu die Debugversion z.B. des Bibliothekspfads, in denen die kompilierten Versionen der Units inkl. Debuginformationen gesucht werden.

Also, wenn ich das jetzt richtig verstehe, wird im Bibleothekspfad nach DCU's gesucht und im Suchpfad nach PAS, wobei der Projektspezifische Suchpfad eigentlich ein Bibleothekspfad ist, richtig ?
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.857 Beiträge
 
Delphi 12 Athens
 
#9

AW: Suchpfade von Delphi ?

  Alt 23. Feb 2019, 07:51
Fast, im Bibliothekspfad wird auch nach Quelltexten geschaut. Liegt dort also eine passende .pas Datei wird diese genommen und kompiliert, liegt dort nur die .dcu, wird diese in kompilierter Form benutzt.

Der globale Suchpfad ist nur für den Debugger, damit der die Quelltexte zu den Units beim Debuggen findet. Für das Kompilieren wird der nicht benötigt.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.603 Beiträge
 
Delphi 12 Athens
 
#10

AW: Suchpfade von Delphi ?

  Alt 23. Feb 2019, 09:33
wobei der Projektspezifische Suchpfad eigentlich ein Bibleothekspfad ist, richtig ?
Das ist tatsächlich eine der unsäglichen Namensgebungen in der Delphi. Ist aber wohl schon seit Delphi 1 so.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 05:00 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 by Thomas Breitkreuz