Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Delphi 12 parallel mit Delphi 11: Windows-PATH Probleme (https://www.delphipraxis.net/214060-delphi-12-parallel-mit-delphi-11-windows-path-probleme.html)

ManuelGurski 11. Nov 2023 11:50

Delphi 12 parallel mit Delphi 11: Windows-PATH Probleme
 
Hallo!

ich teste wie viele gerade das neue Delphi 12.
Parallel dazu habe Delphi 11 und XE6 installiert, was bisher problemlos nebeneinander lief.

Seit heute bekomme ich beim Start von Delphi 11 eine Zugriffsverletzung in rtl290.bpl
Wenn ich im Windows PATH die Delphi 11-Pfade vor die Delphi 12-Pfade stelle klappt es wieder aber dann bekomme ich beim Start von Delphi 12 die Zugriffsverletzung in rtl280.bpl :roll:

Jetzt hatte ich die Idee die Pfade nur noch 1x generisch mit Platzhaltern im Windows-PATH zu hinterlegen, weil Delphi meines Wissens nach beim Start in seinem Kontext zusätzliche Systemvariablen setzt (z.B. BDS und BDSCOMMONDIR).

Daher habe ich vorne im PATH nur noch diese Werte und alle anderen Delphi-Pfade entfernt:
%BDS%\bin
%BDSCOMMONDIR%\Bpl
%BDS%\bin64
%BDSCOMMONDIR%\Bpl\Win64

Beim Start von Delphi 11 + 12 bekomme ich jetzt einen Dialog angezeigt, dass das Package-Ausgabeverzeichnis im Pfad fehlt.
Wenn ich das ignoriere, funktionieren die IDEs aber trotzdem ohne Probleme.

Hat jemand schon eine ähnliche Lösung im Betrieb oder gibt es hier evtl. irgendwelche Randeffekte, die mir nur noch nicht aufgefallen sind?
Ich habe schon einiges zu dem Thema gegooglet, habe aber nur grundsätliche Ideen zum Verkürzen der einzelnen Pfade gefunden.
Ich bin auch nicht sicher warum die beiden Delphi-Versionen auf einmal nicht mehr parallel ohne Fehler auf meinem Rechner laufen.

Freue mich auf Feedback.

Gruß
Manuel

Sherlock 11. Nov 2023 11:55

AW: Delphi 12 parallel mit Delphi 11: Windows-PATH Probleme
 
Hatte nicht Uwe mal sowas zusammengebaut? Mal suchen.
...und gefunden: https://www.uweraabe.de/Blog/2014/09...path-variable/

DaCoda 11. Nov 2023 11:59

AW: Delphi 12 parallel mit Delphi 11: Windows-PATH Probleme
 
Hallo Manuel,
ich hatte Delphi auch schon parallel installiert, aber es gab ein paar Seiteneffekte. Ich habe für mich dann entschieden das die neue 12er nicht schlechter sein wird wie die 11er und habe die 11er entfernt und die 12er sauber installiert. Mit dem Codeformatter kann ich mich nicht so anfreunden und nutze GExperts, das sehr flott an die 12er angepasst wurde...

Es wird zwar viel geschrieben von Dingen die nicht so gehen in der 12er, aber es schreibt ja kaum mal jemand was gut ist :-)

Ich für mich bin sehr zufrieden mit der 12er bis jetzt, bin aber auch nicht unbedingt Poweruser...

himitsu 11. Nov 2023 12:20

AW: Delphi 12 parallel mit Delphi 11: Windows-PATH Probleme
 
Die Dateien darin haben normal eine Versionsnummer im Dateinamen, so dass es "eigentlich" nicht zu Konflikten kommt.


Suchpfade zu Packages sind schon etwas wichtig.

Normals werden DesignTimePackages in der Registry eingetragen,
worüber Delphi diese lädt.

Jetzt kommt es auf die Reihenfolge drauf an und ob auch z.B. unregistrierte Runtimepackages geladen werden müssen. (leider hat Windows standardmäßig nicht das aktuelle Verzeichnis der DLL/BPL in seinen DLL-Suchpfaden drin, für dessen Abhängigkeiten aka Imports/Requires)

Lädt eine der geladenen DLL/BPL eine andere DLL/BPL, dann ist es egal, ob sie in der Registry drin steht (die kennt Windows nicht), denn es wird ausschließlich der DLL-Suchpfad des Windows benutzt, inkl. der %PATH%-Variable.
https://learn.microsoft.com/de-de/wi...y-search-order



Wenn man sich aktuell ins QUALITY einloggen könnte, dann wäre es möglich einen seit Jahren unbeantworteten Bugreport/Featruerequest zu diesem Thema zu finden.

ManuelGurski 11. Nov 2023 13:39

AW: Delphi 12 parallel mit Delphi 11: Windows-PATH Probleme
 
Ich war eigentlich ganz sicher, dass ich alle Packages auf {$LIBSUFFIX AUTO} umgestellt hatte...

Der Hinweis von himitsu hat mich aber nochmal nachschauen lassen, weil ich eigentlich auch überzeugt war, dass es hier nicht zu Konflikten kommen kann.
Und tatsächlich hatte ich ein Package vergessen, dass dann mit *280.bpl in den Ordner für Delphi 12 kompiliert wurde. Das hat Delphi 11 dann beim starten gefunden und wollte die darin referenzierte rtl290.bpl von Delphi 12 laden, was natürlich nicht geht.

Bezüglich meiner Lösung konnte ich nicht validieren, dass die Platzhalter (z.B. %BDS%) im PATH tatsächlich von Windows bei der Suche nach Dateien aufgelöst werden.
Ich habe das mal auf der Kommandozeile simuliert in dem ich BDS=C:\Temp definiert habe und dann eine Project1.exe nach C:\Temp\bin\ kopiert habe.
Wenn ich Project1.exe dann versucht habe aufzurufen, hat Windows die nicht gefunden.

Ich habe die Standard-Pfade wiederhergestellt. Jetzt läuft wieder alles parallel.

Für das Problem mit der langen PATH-Variable setzen ich seit längerem:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\FileSystem]
"LongPathsEnabled"=dword:00000001

Uwe Raabe 11. Nov 2023 13:49

AW: Delphi 12 parallel mit Delphi 11: Windows-PATH Probleme
 
Zitat:

Zitat von Sherlock (Beitrag 1529482)
Hatte nicht Uwe mal sowas zusammengebaut? Mal suchen.
...und gefunden: https://www.uweraabe.de/Blog/2014/09...path-variable/

...und hier das zugehörige GitHub-Repo: https://github.com/UweRaabe/CompressPath

Ich sehe gerade, dass da noch die ShortCuts für Delphi 12 fehlen...

PeterPanino 2. Dez 2023 14:42

AW: Delphi 12 parallel mit Delphi 11: Windows-PATH Probleme
 
Zitat:

Zitat von himitsu (Beitrag 1529484)
Die Dateien darin haben normal eine Versionsnummer im Dateinamen, so dass es "eigentlich" nicht zu Konflikten kommt.


Suchpfade zu Packages sind schon etwas wichtig.

Du meinst: Suchpfade zu den Quelldateien?

himitsu 2. Dez 2023 15:10

AW: Delphi 12 parallel mit Delphi 11: Windows-PATH Probleme
 
Nein, diese stehen normal nicht im globalen %PATH%.

Aber z.B. die BPLs und von einigedn/vielen Komponenten auch in den DLLs.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 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