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
Seite 1 von 2  1 2      
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 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
.
$2B or not $2B

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.648 Beiträge
 
Delphi 11 Alexandria
 
#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.027 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.343 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.508 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
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Suchpfade von Delphi ?

  Alt 22. Feb 2019, 17:37
Ja, es ist normal, dass das funktioniert, wenn du den Suchpfad des Projekts ergänzt. Das liegt daran, dass dort die Bezeichnung irreführend ist. Das ist in Wirklichkeit das projektbezogene Äquivalent zum Bibliothekspfad. Einen projektbezogenen Suchpfad gibt es gar nicht.

Wenn die Komponente in ihrem Bibliothekspfad keine Version mit Debuginformationen hat, bleibt dir auch nichts anderes übrig als diesen Weg zu gehen oder die Units in das Projekt einzubinden. In jedem Fall solltest du nach dem Debuggen das DCU-Ausgabeverzeichnis deines Projekts bereinigen, damit dir die dort befindlichen DCUs der Komponente später nicht in die Quere kommen.
Sebastian Jänicke
AppCentral
  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.648 Beiträge
 
Delphi 11 Alexandria
 
#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.475 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
Seite 1 von 2  1 2      


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:41 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