Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Anfügen an %PATH% falls Programm von Delphi-IDE aus gestartet wird (https://www.delphipraxis.net/200337-anfuegen-path-falls-programm-von-delphi-ide-aus-gestartet-wird.html)

mael 10. Apr 2019 16:03

Anfügen an %PATH% falls Programm von Delphi-IDE aus gestartet wird
 
Hallo,

Gibt es eine (einfache) Möglichkeit die Umgebungsvariable PATH zu erweitern?

In den Debugger-Optionen kann man anscheinend nur PATH komplett ersetzen, aber nichts anfügen.

Arbeitsverzeichnis hilft leider auch nicht, weil DLLs aus verschiedenen Verzeichnissen kommen. Das aber nur während der Entwicklung, beim Ausliefern sind sie dann alle im gleichen Pfad wie die EXE.

EdAdvokat 10. Apr 2019 17:17

AW: Anfügen an %PATH% falls Programm von Delphi-IDE aus gestartet wird
 
Liste der Anhänge anzeigen (Anzahl: 1)
versuche es mal mit dem beiliegenden Tipp!

TurboMagic 10. Apr 2019 17:24

AW: Anfügen an %PATH% falls Programm von Delphi-IDE aus gestartet wird
 
Wo soll der PATH erweitert werden? In der IDE oder von deinem ausgeführten Programm aus?

In der IDE gibt's irgendwo glaube ich eine Einstellung und für eine Umsetzung in deinem
Programm wäre hier ein evtl. funktionierender Ansatz beschrieben:

http://delphidabbler.com/articles?article=6

Nur mögen es viele Leute nicht, wenn Programme am PATH "rumfummeln". Das wird ja heutzutage auch nur
noch selten benutzt/gebraucht.

Frage: wozu willst du den PATH ändern?

peterbelow 10. Apr 2019 18:01

AW: Anfügen an %PATH% falls Programm von Delphi-IDE aus gestartet wird
 
Zitat:

Zitat von mael (Beitrag 1430007)
Hallo,

Gibt es eine (einfache) Möglichkeit die Umgebungsvariable PATH zu erweitern?

In den Debugger-Optionen kann man anscheinend nur PATH komplett ersetzen, aber nichts anfügen.

Arbeitsverzeichnis hilft leider auch nicht, weil DLLs aus verschiedenen Verzeichnissen kommen. Das aber nur während der Entwicklung, beim Ausliefern sind sie dann alle im gleichen Pfad wie die EXE.

Starte die IDE nicht direkt sondern aus einer Batchdatei heraus. Da kannst Du einen eigenen Pfad vorgeben (mache ich, z. B. um einer alten IDE-Version einen Pfad zu geben, der keine Verweise auf Verzeichnisse neuerer Versionen enthält).

Delphi.Narium 10. Apr 2019 18:10

AW: Anfügen an %PATH% falls Programm von Delphi-IDE aus gestartet wird
 
Auf der Kommandozeile ändert man die Pfadvariabel so:
Delphi-Quellcode:
set PATH=%PATH%;DeinPfad;
oder so:
Delphi-Quellcode:
set PATH=DeinPfad;%PATH%;
Dies gilt solange, bis die Kommandozeile geschlossen wird, gilt also nicht systemweit.

In dem Kontext trifft daher
Zitat:

Nur mögen es viele Leute nicht, wenn Programme am PATH "rumfummeln".
nicht zu.

Wenn das Ganze nun im Programm passieren soll (Form.Create) oder jedenfalls vor dem Laden Deiner DLLs, dann könnte das in etwa so funktionieren (unter Delphi 7):
Delphi-Quellcode:
SetEnvironmentVariable('PATH',PAnsiChar(Format('%s;%s',[GetEnvironmentVariable('PATH'),'DeinPfad'])));
PAnsiChar musst Du durch etwas für Dein Delphi passendes ersetzen.

Zitat:

weil DLLs aus verschiedenen Verzeichnissen kommen
DeinPfad kann in diesem Zusammenhang durchaus mehrere Pfadangaben, durch Semikolon getrennt, enthalten.

Uwe Raabe 10. Apr 2019 18:44

AW: Anfügen an %PATH% falls Programm von Delphi-IDE aus gestartet wird
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1430019)
Wenn das Ganze nun im Programm passieren soll (Form.Create) oder jedenfalls vor dem Laden Deiner DLLs,

Das ist bei statisch gebundenen DLLs nicht ganz so einfach. Wenn die DLLs sowieso über LoadLibrary bzw. LoadLibrayEx geladen werden, dann bietet sich auch ein SetDLLDirectory oder AddDllDirectory an.

Delphi.Narium 10. Apr 2019 18:58

AW: Anfügen an %PATH% falls Programm von Delphi-IDE aus gestartet wird
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1430025)
Zitat:

Zitat von Delphi.Narium (Beitrag 1430019)
Wenn das Ganze nun im Programm passieren soll (Form.Create) oder jedenfalls vor dem Laden Deiner DLLs,

Das ist bei statisch gebundenen DLLs nicht ganz so einfach. Wenn die DLLs sowieso über LoadLibrary bzw. LoadLibrayEx geladen werden, dann bietet sich auch ein SetDLLDirectory oder AddDllDirectory an.

Schon klar, Path muss geändert sein, bevor die erste DLL, die nur über Path gefunden werden kann, geladen wird.

Je nach Programmkomplexität dürfte das nicht unbedingt trivial sein.

mael 12. Apr 2019 12:23

AW: Anfügen an %PATH% falls Programm von Delphi-IDE aus gestartet wird
 
Zitat:

Zitat von EdAdvokat (Beitrag 1430014)
versuche es mal mit dem beiliegenden Tipp!

Danke für den Tipp. Leider gibt es diese Option anscheinend nicht unter Win8. Oder gibt es da einen "geheimen" Registryeintrag?

Ich werde mal die Methode mit der Batchdatei versuchen. Lieber wäre mir eine IDE-Einstellung die pro Projekt funktioniert.

Danke an alle soweit.


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