AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Suchpfad funktioniert nicht richtig?

Ein Thema von Siggi · begonnen am 14. Apr 2021 · letzter Beitrag vom 24. Mai 2021
Antwort Antwort
Seite 1 von 2  1 2   
Siggi

Registriert seit: 19. Jun 2004
Ort: Lollar
48 Beiträge
 
Delphi 10.4 Sydney
 
#1

Suchpfad funktioniert nicht richtig?

  Alt 14. Apr 2021, 09:03
Hallo zusammen,

scheinbar stehe ich gerade total auf'm Schlauch:

Ich habe in Delphi 10.4 in meinem Suchpfad (Tools - Optionen - Sprache - Delphi - Bibliothek -> Suchpfad) diverse Verzeichnisse für verwendete Komponenten eingetragen. Alle funktionieren wunderbar in einem meiner Projekte (32-Bit-Windows-Anwendung).

In einem anderen Projekt (ebenfalls 32.bit-Windows, einziger Unterschied: IntraWeb als Projektart) werden die im oben genannten Projekt einwandfrei verwendbaren Units aber nicht gefunden ("Fataler Fehler: Unit xxxx nicht gefunden"). Delphi kennt aber die Pfade: Rechtslick - "Datei beim Cursor öffnen" auf die als "nicht gefunden" gemeldete Unit zeigt den Quellcode.

Irgendwo übersehe ich etwas - nach stundenlanger Suche in den Einstellungen und per google hoffe ich auf einen Tipp, wo mein Fehler liegen könnte.

Viele Grüße,
Siggi
  Mit Zitat antworten Zitat
Siggi

Registriert seit: 19. Jun 2004
Ort: Lollar
48 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Suchpfad funktioniert nicht richtig?

  Alt 15. Apr 2021, 08:52
Hallo zusammen,

vermutlich habe ich da einen Verständnisfehler oder ist da etwas "schräg"? (in Delphi 2010 habe ich den Suchpfad immer je Projekt gepflegt, in 10.4 scheint es das nicht mehr zu geben...??)

Erst noch mal vorweg: das im ersten Post beschriebene Verhalten ließ sich auch mit einem neuen leere Projekt "VCL-Anwendung" nachvollziehen (hat also nichts mit IntraWeb zu tun), indem ich im ansonsten unveränderten Formular wie bei Neu ... erstellt nur eine Unit aus einem Ordner im Suchpfad zusätzlich aufgenommen habe. Im Suchpfad steht dieser Verweis: $(BDSPROJECTSDIR)\GlobalUnits.
Die Unit enthält diverse in allen Projekten verwendeten Procedures/Functions. Sie benötigt weitere Units aus dem Suchpfad (konkret: aus $(BDSPROJECTSDIR)\Components\JEDI\jwa\branches\2.3 \Win32API).

Ich habe dann den Pfad $(BDSPROJECTSDIR)\GlobalUnits in den Bibliothekspfad aufgenommen, aber nicht den Pfad $(BDSPROJECTSDIR)\Components\JEDI\jwa\branches\2.3 \Win32API, der steht weiterhin nur im Suchpfad.

Mit dieser Konfiguration wird dann alles gefunden.
Warum wird "meine" Unit nur gefunden, wenn ich den Pfad im Bibliothekspfad eintrage, die Units aus dem JEDI\jwa-Pfad aber auch, wenn der Pfad nur im Suchpfad steht?

VG
Siggi
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
933 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Suchpfad funktioniert nicht richtig?

  Alt 15. Apr 2021, 09:20
Ich habe dann den Pfad $(BDSPROJECTSDIR)\GlobalUnits in den Bibliothekspfad aufgenommen
Ich bin da definitiv nicht der Experte, aber: Ist $(BDSPROJECTSDIR) für den Bibliothekspfad überhaupt ein zulässiger Platzhalter? Was passiert denn, wenn Du den Platzhalter durch den echten Pfad ersetzt? Funktioniert es dann?
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.679 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Suchpfad funktioniert nicht richtig?

  Alt 15. Apr 2021, 10:11
Delphi arbeitet ja seit einigen Versionen mit Plattform- und Build-konfigurationen, die jeweils eigene Suchpfade verwalten. Dabei werden die Einträge in der Regel aus der jeweils höheren Stufe vererbt. Wenn du also den Suchpfad z.B. in der Release-Konfiguration einträgst, dann gilt der nicht für die Debug-Konfiguration.

BTW, $(BDSPROJECTSDIR) sollte korrekt aufgelöst werden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Siggi

Registriert seit: 19. Jun 2004
Ort: Lollar
48 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Suchpfad funktioniert nicht richtig?

  Alt 15. Apr 2021, 18:40
Das hatte ich in meinem ersten Post vergessen zu erwähnen:
Die Pfade für "Suchpfad" sind in Release und Debug jeweils identisch eingetragen und es kommt auch unabhängig von der Einstellung beim Compilieren immer die gleiche Meldung, dass die Unit nicht gefunden wurde.
Mit dem Eintrag im Bibliothekspfad statt Suchpfad geht es ja, ich komme also erst mal weiter

... und Delphi ändert einen vollständig eingetragen Pfad automatisch in $(BDSPROJECTSDIR)\Restpfad, und das wird korrekt aufgelöst.

Geändert von Siggi (15. Apr 2021 um 18:43 Uhr)
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
387 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Suchpfad funktioniert nicht richtig?

  Alt 15. Apr 2021, 19:22
Der Suchpfad wird nicht fürs Kompilieren verwendet sondern der Bibliothekspfad. Ich nutze meine IDE in englischer Sprache und da gibt es "Library path" und "Bowsing path". Das wird dann vermutlich im deutschen dann "Bibliothekspfad" und "Suchpfad" heissen.

Beim Konpilieren wird der "Libray path" (Bibliothekspfad) verwendet. Daher müssen da die Verzeichnisse zu deinen vorkompilierten DCU's oder die Sourcen, wenn du die Sourcen jeweils neu kompilieren willst, drin stehen.

Der Suchpfad wird dafür verwendet, dass du Sourcecode zu einer Komponente, von der im Bibliothekspfad nur die DCU's vorhanden sind, gefunden werden kann, wenn du im Editor mit Ctrl-Klick oder Ctrl-Enter bei einem Bezeichenr/Unitnamen im dazugehörenden Sourcefile die Quelle anzeigen willst. In dem Fall wird der Suchpfad durchsucht um die Unit zu finden, in der der Bezeichern definiert ist.

Von daher brauchst du im Suchpfad nur Verzeichnisse anzugeben, die auf die Sourcen deiner Bibliothek verweiesen, die im Bibliothekspfad nur die DCU's enthalten. Alle Verzeichnisse im Bibliothekspfad, die auch die Sourcen enthalten und somit jeweils neu kompiliert werden, müssen nicht im Suchpfad angegeben werden, weil er für die Editor Filesuche zuerst im Bibliothekspfad sucht und dann im Suchpfad.

Geändert von Rolf Frei (15. Apr 2021 um 19:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.679 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Suchpfad funktioniert nicht richtig?

  Alt 15. Apr 2021, 22:08
Das gilt für die globalen Optionen. Im Projekt heißt das dann wieder Suchpfad (im Englischen Search path - dummerweise wurde Browsing path auch mit Suchpfad übersetzt). Dort gehören auch die Pfade rein, die der Compiler durchsuchen soll, aber die eben nicht global sein sollen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Siggi

Registriert seit: 19. Jun 2004
Ort: Lollar
48 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Suchpfad funktioniert nicht richtig?

  Alt 18. Apr 2021, 15:55
ahh - das erklärt meine "Verwirrung"

Bisher hatte ich in Delphi 2010 immer alle Pfade im Projekt-spezifischen Suchpfad hinterlegt.

In Delphi 10.4 habe ich die globalen Einstellungen verwendet (weil ich auch keine Projekt-spezifischen Pfade mehr gefunden habe...) und dort den vermeintlich zu den aus Delphi 2010 bekannten Projektoptionen passenden "Suchpfad".

Danke für die Aufklärung, dann nehme ich zukünftig vorrangig den Bibliothekspfad .
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
431 Beiträge
 
Delphi XE5 Professional
 
#9

AW: Suchpfad funktioniert nicht richtig?

  Alt 24. Mai 2021, 15:05
Delphi arbeitet ja seit einigen Versionen mit Plattform- und Build-konfigurationen, die jeweils eigene Suchpfade verwalten. Dabei werden die Einträge in der Regel aus der jeweils höheren Stufe vererbt. Wenn du also den Suchpfad z.B. in der Release-Konfiguration einträgst, dann gilt der nicht für die Debug-Konfiguration.
BTW, $(BDSPROJECTSDIR) sollte korrekt aufgelöst werden.
Was bedeutet hier BTW?

Auch ich habe das gleiche Problem beim Umsteigen von XE5 auf 10.3.3 CE.
Zielplattform Win32: Debug funktioniert, aber bei Release vermißt der Compiler die *.pas Files der eigenen Bibliotheken.

Wo muß ich den Suchpfad für die Release-Konfiguration der eigenen Bibliotheken einstellen?

Danke!

Gruß, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher.
John C. Cornelius
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.679 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Suchpfad funktioniert nicht richtig?

  Alt 24. Mai 2021, 16:19
Was bedeutet hier BTW?
BTW = by the way (auf Deutsch: Übrigens)

Auch ich habe das gleiche Problem beim Umsteigen von XE5 auf 10.3.3 CE.
Zielplattform Win32: Debug funktioniert, aber bei Release vermißt der Compiler die *.pas Files der eigenen Bibliotheken.

Wo muß ich den Suchpfad für die Release-Konfiguration der eigenen Bibliotheken einstellen?
Vermutlich genauso wie in der Debug-Konfiguration. Ohne genauere Angaben ist das nicht umfassend zu beantworten.
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   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 13:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf