![]() |
Bibliothek- und Suchpfade
Guten Morgen zusammen!
Ein Thema, was immer wieder mal hoch kommt, und was immer wieder für Probleme sorgt: Die richtige und(!) vollständige Einstellung der Bibliothek- und Suchpfade im Delphi. Ich meine mich zu erinnern, dass es im Microsoft VS die Möglichkeit gibt, die ganzen konfigurierten Optionen in eine Datei zu exportieren und bei Bedarf auch wieder zu importieren. Wie ich finde, eine gute Sache. Weiß jemand, wo bei Delphi diese Einstellungen gespeichert sind, sodass man sich zumindest eine Sicherung dieser Bereiche machen kann? Oder ob man diese Einstellungen - en bloc - auslesen kann? Vielleicht gibt es da ja auch ein Tool, welches ich nur nicht kenne, was diese Daten sichert? Danke für Eure Hilfe! Beste Grüße Rolf |
AW: Bibliothek- und Suchpfade
Die Nicht-projektabhängigen Einstellungen sind alle in der Registry gespeichert.
Wenn du den entsprechenden BDS-Zweig deiner Version aus der Registry exportiert, hast du all deine Einstellungen. |
AW: Bibliothek- und Suchpfade
Neuere Delphi-Versionen bringen ein Migration-Tool mit. Damit kann man gezielt einzelne Einstellungen der Registry exportieren und auch wieder importieren.
|
AW: Bibliothek- und Suchpfade
Zitat:
Also auch alle alten Pfade bewusst rauslösche. Gibt es da so eine Art Save/Restore der Einstellungen, ich vermute mal nicht ? |
AW: Bibliothek- und Suchpfade
Genau dafür ist das da.
Einstellungen sichern/kopieren und in gleicher/anderer Version auf gleichem/anderem Rechner Benutzeraccount wiederherstellen. |
AW: Bibliothek- und Suchpfade
Ok, muss ich mmir wohl doch mal ansehen.
Bin immer davon ausgegangen dass es nur um Projekt-Migration geht, nicht IDE-Migration. |
AW: Bibliothek- und Suchpfade
Hallo Jungs,
vielen Dank - das war mir nicht bekannt, dass man das mit dem Migrationstool machen kann. Und auch der Tipp mit der Registry ist interessant und hilfreich! Vielen Dank! |
AW: Bibliothek- und Suchpfade
Hi zusammen
Apropos Delphis Bibliothek- und Suchpfade und die Registry: In wohl allen Fällen speichert Delphi alle Repositorys auf C:\, zuweilen auch in verschiedenen Pfaden. Wie erkenne ich die entsprechenden Registry-Einträge? Try and Error-Spiele mit der Registry finde ich eine äusserst schlechte Idee - es sei denn, man weiss sehr gut, was man tut! Seit der Deinstallation von Delphi10.4.0 zugunsten D10.4.1 und der Installation des letzteren auf C:\ habe ich wieder gute 70GB auf C:\ frei - Windows hate kurz vorher ein 'Windows.Old mit sehr guten 30GB gelöscht. Trotzdem würde ich gerne Repositorys und Demos auf andere Laufwerke mit mehr Platz auslagern. Gruss Delbor |
AW: Bibliothek- und Suchpfade
In vielen Pfaden werden Variablen wie $(BDSCatalogRepository), $(BDS), $(BDSLIB) oder $(PUBLIC)\Documents\Embarcadero,
da wäre es dann egal in welcher Version ein Pfad mit sowas eingespielt wird. Bei den absoluten Pfaden auf ein gewisses Installationsverzeichnis/Delphiversion, da sollte das Migrationstool es entsprechend behandeln und anpassen, denn dafür ist das Migrationstool ja da, damit man eben nicht "blind" irgendwelche Registry-Einträge sonstwo hinspeichert. |
AW: Bibliothek- und Suchpfade
Thematisch möchte ich mich hier anschließen.
Ich habe bei der Einrichtung meines Delphi 12 ein paar Komponenten in die Toolleiste hinzugefügt. Damit sie auch gefunden werden (so dachte ich), habe ich in der IDE bei Tools/Optionen/Sprache/Delphi/Bibliothek den Suchpfad um die betreffenden Quellcode-Ordner erweitert. Nun öffne ich ein Projekt, in dem ich Units verwende, die in diesem Suchpfaden liegen - und tja, die IDE meckert, die Units nicht finden zu können. :roll: Bleibt mir also nichts anderes übrig, für diese Komponenten in jedem Projekt, das sie verwendet, immer wieder individuell die Suchpfade einpflegen zu müssen? Wozu ist dann der Suchpfad in den IDE-Optionen da, wenn er in den Projekten ignoriert wird?! |
AW: Bibliothek- und Suchpfade
Ist der Bibliothekspfad denn auch in der verwendeten Plattform eingetragen?
|
AW: Bibliothek- und Suchpfade
Ja, "Ausgewählte Plattform": Windows 32 Bit
|
AW: Bibliothek- und Suchpfade
In dem Fall muss die Ursache eine andere sein. In der Regel funktioniert das schon so.
|
AW: Bibliothek- und Suchpfade
Liste der Anhänge anzeigen (Anzahl: 1)
Aber was könnte das sein?
Ich hab ein neues Projekt gestartet und eine Unit aus dem Suchpfad in die uses geschrieben. Davon hab ich dann eine Screenshot-Collage erstellt - wo liegt der Fehler? |
AW: Bibliothek- und Suchpfade
Bei den Bibliothekspfaden muss der Eintrag in Bibliothekspfad! In Suchpfad stehen die Pfade für den Debugger, damit man auch in die Sourcen debuggen kann, die sonst nur als DCU zur Verfügung stehen.
Leider ist das bei der Übersetzung etwas unglücklich gelöst: Im Englischen heißt das dort Browsing path, während das Deutsche Suchpfad mit dem gleichnamigen Eintrag in den Projektoptionen kollidiert, die aber jeweils unterschiedliche Bedeutung haben. |
AW: Bibliothek- und Suchpfade
Das verwirrt mich gerade.
Bleiben wir bei der deutschen Version. Wo muss was stehen? Globale Einstellung - über das Menü: Tools/Optionen. In diesem Dialog bei "Sprache/Delphi" gibt es u.a. "Bibliothek". Für die ausgewählte Plattform Windows 32 Bit habe ich hier u.a. den Bibliothekspfad und den Suchpfad. :?: Und du meinst, alles, was ich jetzt in Suchpfad eingetragen habe, sollte ich in Bibliothekspfad verlegen? In der Hilfe und ![]() Zitat:
:?: Muss ich vielleicht dann zusätzlich in den Projekt-Optionen den Suchpfad mit einer Variable belegen? Welche wäre das? :?: Oder sollte das normal aus den globalen Einstellungen "geerbt" werden? |
AW: Bibliothek- und Suchpfade
Zitat:
Zitat:
Zitat:
Beispiel: In deinem Quelltext machst du einen Ctrl-Click in der uses-Anweisung auf System.Classes und - wenn nicht andere Widrigkeiten dazwischen funken - landest du in der entsprechenden Source-Unit. Der Compiler wird aber weiterhin die entsprechenden DCU-Dateien aus dem passenden lib-Verzeichnis nehmen, da er die System.Classes.pas nicht finden kann (soll er auch nicht). Also was im Source-Editor (Quelltext-Browser) für die Navigation erreichbar sein soll, gehört unter Tools/Optionen/Sprache/Delphi/Bibliothek in den Suchpfad, während der Compiler nur das sieht, was im Bibliothekspfad steht. Natürlich wertet der Quelltext-Browser auch den Bibliothekspfad aus, wenn dort auch pas-Dateien zu finden sind. Man muss dann diese Pfade nicht auch noch im Suchpfad angeben. Als Beispiel steht im Bibliothekspfad c:\program files (x86)\embarcadero\studio\23.0\lib\Win32\release (dort findet der Compiler System.Classes.dcu), während im Suchpfad unter anderem $BDS)source\rtl\common steht (dort findet der Quelltext-Browser System.Classes.pas). Das sind nur die globalen Pfade für alle Projekte. In den jeweiligen Projekt-Optionen kann man zusätzlich projekt-spezifische Pfade angeben. Dort wird allerdings der Suchpfad vom Compiler (und vom Quelltext-Browser) ausgewertet. Diese unterschiedliche Verwendung des Begriffs Suchpfad hat leider schon öfter für Missverständnisse gesorgt. Im Englischen ist das halt anders. Die Erläuterungen zu den Debugger-Pfaden spare ich mir erstmal für später auf. Ich will die Verwirrung ja nicht zu groß werden lassen. |
AW: Bibliothek- und Suchpfade
Na gut ich hatte es dann hinbekommen und es fand sich alles.
Jetzt habe ich erst alles mit den Migrationstool gesichert, dann die 12.1 deinstalliert, dann die 12.2 installiert und die gesicherte Migrationsdatei wieder eingespielt - es hat eine Weile was gemacht, mit den JEDI-Zeug hatte ich stundenlang nachbessern müssen und Fastreports wollte sich zunächst garnicht installieren lassen (Tipp: Delphi als Administrator starten, dann klappt es mit Fastreports). Nun öffne ich fröhlich mein Projekt... :pale: Die IDE findet meine Units nicht. In den globalen Pfaden fehlt alles, was ich in Version 12.1 mühsam zusammengetragen habe. Wird wohl nicht vom Migrationstool gesichert :wall: Edit: nicht alles - nur der Pfad mit meinen Standard-Units für alle Projekte. Und ich präzisiere: im Bibliothekspfad - habs zuerst im "Suchpfad" nachgetragen (schon wieder falsch gemacht, das hat also weiterhin verwirrt) und nix gebracht - es muss im Bibliothekspfad notiert sein! Und nach dem Speichern des Dialogs bei Tools-Optionen merkt das die IDE nicht, daß sich was geändert hat. Erst das Formular schließen und erneut öffnen, dann geht das CodeInsight nochmal durch und ist jetzt endlich zufrieden. Oder wo werden die globalen Pfade gespeichert? Zitat:
|
AW: Bibliothek- und Suchpfade
Zitat:
Man beachte das die Pfade projektspezifisch sind, die Registryeinträge sind der Default (aus dem Tools -> Options Dialog), in den Projektoptionen kann man sie überschreiben, landet dann im DPROJ-File. |
AW: Bibliothek- und Suchpfade
Zitat:
|
AW: Bibliothek- und Suchpfade
Zitat:
Die Systemvariablen sind übrigens in %APPDATA%\Embarcadero\BDS\23.0\environment.proj gespeichert. Diese Datei wird beim Start der IDE jeweils neu geschrieben. |
AW: Bibliothek- und Suchpfade
Zitat:
An vielen Stellen muß man aber $(Variable) anstatt %Variable% verwenden, z.B. in den IDE-Optionen, Projektoptionen und Startparametern. |
AW: Bibliothek- und Suchpfade
Zitat:
Sinnvolle Dateinamen für die Inhalte sind auch eine Kunst - was finden wir in "EventsMapping.tma" ? Auf jeden Fall sieht mir das nicht nach Events aus:
Code:
( :stupid: Aber das hat mit dem Thema nichts zu tun, aber so finde ich es wieder, wenn ich mich mal frage, wo die Deklarationen bestimmter Typen definiert sind; in der Hilfe finde ich das nicht)
[MappedTypes]
Pointer=TEnumBindCompProcInfo, TEnumActionProcInfo, TCustomData Integer=LongInt, SQLInteger, sb4 SmallInt=SQLSmallint string=DOMString, InvString, UnicodeString TGUID=TBluetoothUUID NativeUInt=TRemoteActionHandle, TSocket, LPARAM NativeInt=THelpEventData TArray<System.Byte>=TBytes Cardinal=LongWord, UINT IInterface=IUnknown TOleEnum=COREWEBVIEW2_WEB_ERROR_STATUS, COREWEBVIEW2_PROCESS_FAILED_KIND tagMSG=TMsg PCHAR=PWIDECHAR CHAR=WIDECHAR |
AW: Bibliothek- und Suchpfade
Zitat:
|
AW: Bibliothek- und Suchpfade
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:59 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-2025 by Thomas Breitkreuz