AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Umgebungsvariable wird nicht genutzt

Ein Thema von vpohlers · begonnen am 4. Jul 2023 · letzter Beitrag vom 4. Jul 2023
Antwort Antwort
vpohlers

Registriert seit: 23. Nov 2005
4 Beiträge
 
Delphi 2005 Personal
 
#1

Umgebungsvariable wird nicht genutzt

  Alt 4. Jul 2023, 11:30
Hallo,

ich habe ein Problem mit Delphi 11.3 Prof.
Ich arbeite ohne Admin-Rechte.

Wenn ich im Umgebungsblock eine Systemvariable festlege, erscheint diese nicht im Programm (getestet mit shellexecute cmd.exe)
Auch wenn ich eine andere Host-Anwendung definiere, wird diese nicht genutzt (man kann z.B. spaßeshalber den Windows-Taschenrechner eintragen (calc.exe), es wird trotzdem das Delphi-Programm gestartet).

Wenn ich dasselbe in einem Account mit Admin-Rechten mache, funktioniert beides.

Hat irgendjemand eine Idee, woran das liegen könnte und wie ich das reparieren kann?
  Mit Zitat antworten Zitat
Alallart

Registriert seit: 8. Dez 2015
153 Beiträge
 
#2

AW: Umgebungsvariable wird nicht genutzt

  Alt 4. Jul 2023, 11:58
Rechner neu gestartet?
  Mit Zitat antworten Zitat
vpohlers

Registriert seit: 23. Nov 2005
4 Beiträge
 
Delphi 2005 Personal
 
#3

AW: Umgebungsvariable wird nicht genutzt

  Alt 4. Jul 2023, 12:17
ja. Das bringt aber nichts.
In/an Delphi wurde nichts neu installiert.

Ich kann zwischen meinen beiden Accounts umschalten, im Account mit Admin-Rechten läuft alles so wie es soll, ohne Adminrechte werden Umgebungsvariablen und Host-Anwendung ignoriert.
  Mit Zitat antworten Zitat
Alallart

Registriert seit: 8. Dez 2015
153 Beiträge
 
#4

AW: Umgebungsvariable wird nicht genutzt

  Alt 4. Jul 2023, 12:41
Ist zwar nur aus der Hüfte geschossen, aber könnte es sein, dass jedes Konto seine eigenen Umgebungsvariablen hat? Prüf das mal in deinem normalen Konto.

Rufe zuerst CMD.EXE auf, oder die Eingabeaufforderung.

Gib dann PATH ein

Prüfe ob in der "Liste" auch dein Pfad ist.


Falls das zu schwer zu lesen ist, kopiere den Text in der Eingabeaufforderung (Markieren und dann Enter). Füge den Text dann in Word ein. Wähle dann Ersetzen. Suche nach ; (Semikolon) und ersetze das durch ^p (Absatzmarke). Dann kann man es vernünftig lesen.

Geändert von Alallart ( 4. Jul 2023 um 12:48 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.021 Beiträge
 
Delphi 12 Athens
 
#5

AW: Umgebungsvariable wird nicht genutzt

  Alt 4. Jul 2023, 12:55
Mit Umgebungsblock meinst du den in den Debugger-Projekt-Optionen?

Was machst du denn dort genau? Kannst du das mal zeigen?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#6

AW: Umgebungsvariable wird nicht genutzt

  Alt 4. Jul 2023, 12:56
Programme bekommen den Environmentblock vom startenden Programm.
z.B. eine Kopie des Blocks der Delphi-IDE, wenn aus Delphi gestartet.
Und so lange die Programme laufen, aktualisiert er sich auch nicht automatisch.

Standardmösung: Programm und notfalls auch Windows neu starten.



Hostanwendung: Ja, eine EXE mit anderem Programm starten, geht irgendwie nicht. (bei mir letztens auch nicht)
DLL oder BPL da ja.

Bei mir war es, dass der Compiler es in ein anderes Verzeichnis kompilert (Ausgabepfad), die EXE im AfterBuildScript umkopiert wird und das dann von dort starten sollte. (selbe EXE aber anderer Pfad, aber prinzipiell egal)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 4. Jul 2023 um 14:30 Uhr)
  Mit Zitat antworten Zitat
vpohlers

Registriert seit: 23. Nov 2005
4 Beiträge
 
Delphi 2005 Personal
 
#7

AW: Umgebungsvariable wird nicht genutzt

  Alt 4. Jul 2023, 15:41
Ich hab diverses probiert. Es hat nichts mit Admin-Rechten zu tun.

Es geht konkret um eine Datenbankanwendung für Oracle. Hier muss ORACLE_HOME gesetzt werden.

Offenbar kommt Delphi bei Plattform "Windows 64" mit den Umgebungsvariablen/Systemvariablen nicht zurecht. Mit Plattform "Window 32" funktioniert eine Build- und System-Abhängige Variable. Hier werden auch die vorhandenen Umgebungsvariablen angezeigt. Für Plattform "Windows 64" funktioniert das nicht, auch der Block darüber mit den vorhandenen Umgebungsvariablen ist leer.

Als Notbehelf habe ich jetzt die OS-Umgebungsvariable "ORACLE_HOME" für den 64-Bit-Oracle-Client festgesetzt, und für Plattform "Window 32" in Delphi als Systemvariable für einen 32-Bit-Oracle-Client. Damit funktioniert es zumindest.

Ich glaube mich zu erinnern, dass Matthias Eißing erwähnt hatte, dass hier noch ein Bug sei?
Miniaturansicht angehängter Grafiken
win32.png   win64.png  

Geändert von vpohlers ( 4. Jul 2023 um 15:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#8

AW: Umgebungsvariable wird nicht genutzt

  Alt 4. Jul 2023, 17:25
Also die Systemvariablen sollten eigentlich überall vorhanden sein.
Die "Benutzerüberschiebenen" werden nur über die Session durchgereicht.

PS: Es gibt auch noch Tools -> Optionen -> IDE -> Umgebungsvariablen (welche die Delphi-IDE bekommt und welche "normal" auch an davon gestartete Programme durchgereicht werden)
Also für 32 Bit Programme geht es eigentlich.
Bei 64 Bit Programmen läuft im Hintergrund der RemoteDebugger und Jener startet dann das gewnschte Programm. (also gibt er dann auch sein Environment weiter und nicht direkt das er IDE)

Beim CreateProcess können auch optional via lpEnvironment "eigene" Umgebungsvariablen reingegeben werden. (was Delphi hier auch intern bestimmt nutzt)
und dafür sollte es vorher auch die Systemumgebungsvariablen, oder seine Eigenen, auslesen, da dann die Änderungen vornehmen (z.B. Neues hinzufügen oder überschreiben)

Da scheint es wohl im Delphi einen Bug zu geben.
Hier wird für Win64 auch nichts angezeigt. Als eingeschränkter Admin (UAC), aber auch als einfacher "Benutzer". (als Admin jetzt nicht ausprobiert, da ich dafür aktuell keine Lizenz hier zur Verfügung haben)
Lösung: https://quality.embarcadero.com/
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:56 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