AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Best Practice für Delphi Pfade gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

Best Practice für Delphi Pfade gesucht

Ein Thema von TigerLilly · begonnen am 15. Jan 2020 · letzter Beitrag vom 17. Jan 2020
Antwort Antwort
Seite 1 von 2  1 2      
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.211 Beiträge
 
Delphi 11 Alexandria
 
#1

Best Practice für Delphi Pfade gesucht

  Alt 15. Jan 2020, 18:52
Was gehört in welchen Pfad?

Tools/Optionen/DelphiSprache/Bibliothek

Bibliotheks(Library)pfad
Such(Browsing)pfad

Projektoptionen/Ziel
Suchpfad

In welcher Reihenfolge und wo sucht Delphi nach einer Datei und wann und wohin wird diese neu kompiliert?
In welcher Reihenfolge und wo sucht Delphi nach einer Datei wenn ich im Editor klicke?

Danke für jede Erleuchtung!

Geändert von TigerLilly (16. Jan 2020 um 08:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Pfade die 2te

  Alt 15. Jan 2020, 19:02
Bitte gib deinem Beitrag einen aussagekräftigen Titel. "Pfade die 2te" sagt nichts über dein Anliegen aus. Du kannst den Titel bearbeiten indem du beim Beitrag bearbeiten auf "Erweitert" klickst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#3

AW: Pfade die 2te

  Alt 15. Jan 2020, 19:13
Zitat:
wann und wohin wird diese neu kompiliert?
Units von Komponenten werden bei mir immer erst dann neu kompiliert, wenn ich explizit das Paket öffne, es bereinige und neu kompiliere und ggf. auch neu installiere.
DCUs und sowas landen bei meinen Komponenten im selben Ordner.
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Pfade die 2te

  Alt 15. Jan 2020, 19:24
Mein Delphi kompiliert auch neu, wenn ich ein Projekt erzeuge.

DCUs wandern normalerweise da hin, wo die Sourcen liegen.
Janni
2005 PE, 2009 PA, XE2 PA
  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
 
#5

AW: Pfade die 2te

  Alt 15. Jan 2020, 22:26
Was gehört in welchen Pfad?
Tools/Optionen/Sprache/Delphi/Bibliothek

Bibliotheks(Library)pfad: Die vorcompilierten DCUs der Libraries, die für alle Projekte gleich sind.
Such(Browsing)pfad: Die Pfade zu den Sourcen dieser Libraries, damit der Debugger die finden kann.

Ergänzend dazu:
Debug-DCU-Pfad: Die Debug-Versionen obiger DCUs.

Ebenso:
Tools/Optionen/Sprache/Delphi/Bibliothek - Übersetzt: Jeweils die sprachabhängigen Versionen davon.


Projektoptionen/Ziel
Suchpfad: Die Pfade für die Sourcen und/oder DCUs der projektspezifischen Units und/oder Libraries.

In welcher Reihenfolge und wo sucht Delphi nach einer Datei und wann und wohin wird diese neu kompiliert?
In welcher Reihenfolge und wo sucht Delphi nach einer Datei wenn ich im Editor klicke?
Die Suchreihenfolge ist in beiden Fällen die gleiche (zumindest theoretisch). Gehört die Datei nicht direkt zum Projekt, dann hat der Projekt-Suchpfad Vorrang vor dem Bibliothekspfad. Ist die Compiler-Option "Mit Debug-DCUs" aktiv, wird der Debug-DCU-Pfad vor den Suchpfad gestellt. Gleiches gilt für die sprachabhängigen Pfade. (Achtung! Siehe dazu meine Antwort bei StackOverflow)
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.211 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Best Practice für Delphi Pfade gesucht

  Alt 16. Jan 2020, 08:49
An einem konkreten Beispiel (und laut gedacht):

Ich habe LibraryA.dcu. Der Pfad zu der Datei ist in Bibliotheks(Library)pfad, weil vorcompilierten DCUs der Libraries, die für alle Projekte gleich sind.

Ich habe LibraryA.pas. Der Pfad zu der Datei ist Such(Browsing)pfad,damit der Debugger die finden kann.

Wenn ich jetzt ein Build meines Projekts mache, compiliert Delphi die LibraryA und stellt die DCU in das Outputverzeichnis und nicht in den Librarypfad? Nein. Das hätte ja gar keinen Sinn. Das würde Delphi nur machen, wenn der Pfad zur PAS datei auch im Librarypfad wäre. Richtig?

Gut. Das funktioniert so für 3rd party Libs, die sich selten ändern + wenn, dann werden die gesondert kompiliert (und haben ohnedies eigene Pfadvorgaben).

Meine Projektsourcen sind über die DPR eingebunden, Kompilate landen im Output-Verzeichnis (bzw den verwandten).

Jetzt habe ich noch Code, der für mehrere Projekte gleich ist - eigener Bibliothkescode. Der soll bei Änderungen mit dem Projekt mitkompiliert werden (Halt! Schlechter Prozess? Über die versionskontrolle bekomme ich eine Änderung ausgecheckt + müsste sofort einen Buildprozess haben.) Oder ich nehme diesen Code in die DPR auf + habe halt die DCUs doppelt je Projekt.

Meinungen dazu?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

AW: Best Practice für Delphi Pfade gesucht

  Alt 16. Jan 2020, 09:13
Wenn ich jetzt ein Build meines Projekts mache, compiliert Delphi die LibraryA und stellt die DCU in das Outputverzeichnis und nicht in den Librarypfad?
Nein, die Projekte finden die LibraryA.pas ja nicht, weil sie nicht im Bibliothekspfad liegt. Daher verwenden sie die vorkompilierte Version. Nur deine Packages, die die Datei eingebunden haben, legen diese in den Bibliothekspfad, der dort natürlich das DCU-Ausgabeverzeichnis sein muss.

Wir können so auch zwischen zwei komplett unterschiedlichen Umgebunden wechseln, weil ich Skripte und Programme geschrieben haben, die die Umgebung komplett umstellen mit allen Pfaden, installierten Packages usw. und auch alle Bibliotheken kompilieren.

Jetzt habe ich noch Code, der für mehrere Projekte gleich ist - eigener Bibliothkescode. Der soll bei Änderungen mit dem Projekt mitkompiliert werden (Halt! Schlechter Prozess? Über die versionskontrolle bekomme ich eine Änderung ausgecheckt + müsste sofort einen Buildprozess haben.)
Für den Zweck gibt es bei uns teilweise gleichnamige Projekte mit _debug im Namen, die die Bibliotheksunits auch enthalten. Die werden dann verwendet, wenn die Bibliotheksunits im Rahmen des Projekts selbst angepasst werden sollen. Die haben natürlich auch ein eigenes DCU-Ausgabeverzeichnis.
Ansonsten wird solcher Code in Packages vorkompiliert und nicht in den Projekten selbst.
Sebastian Jänicke
AppCentral

Geändert von jaenicke (16. Jan 2020 um 09:15 Uhr)
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.211 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Best Practice für Delphi Pfade gesucht

  Alt 16. Jan 2020, 13:35
Funktioniert nicht so, wie ich will.

Ich habe eine 3rdParty Lib, die hat PAS und RES Dateien im gleichen Verzeichnis und ist nach dem Setup vorkompiliert (RELEASE).
Ich habe den LibraryPfad auf das DCU Verzeichnis und auch wg der RES Dateien auf das PAS Verzeichnis.

Kompiliere ich jetzt mein Projekt mit DEBUG werden die 3rd Partys auch kompiliert. Was ich aber nicht will.
  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
 
#9

AW: Best Practice für Delphi Pfade gesucht

  Alt 16. Jan 2020, 13:46
Ich habe eine 3rdParty Lib, die hat PAS und RES Dateien im gleichen Verzeichnis und ist nach dem Setup vorkompiliert (RELEASE).
Das ist leider ein häufig anzutreffender Fauxpas bei diesen Setups. Wenn man schon die Units vorkompiliert ablegt, dann müssen die Ressourcen natürlich auch als Kopie in diesem Verzeichnis abgelegt werden. Ansonsten kann man sich das vorherige Erzeugen der DCUs auch schenken.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.211 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Best Practice für Delphi Pfade gesucht

  Alt 16. Jan 2020, 15:22
Ja. Und ebenso cool wäre es, wenn 3rd Party Anbieter Ihre Units in einer DPROJ oder Gruppe zusammenfassen, damit das (Neu)-Compilieren nur einen Schritt benötigt.
  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:09 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