AGB  ·  Datenschutz  ·  Impressum  







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

ParamStr(0) mit UNC-Pfad

Ein Thema von Sherlock · begonnen am 1. Dez 2017 · letzter Beitrag vom 1. Dez 2017
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#11

AW: ParamStr(0) mit UNC-Pfad

  Alt 1. Dez 2017, 14:06
Wird das Programm vielleicht als Administrator von einem Netzlaufwerk ausgeführt? Falls ja: Netzlaufwerke sind nutzerspezifisch, genauer gesagt an ein Token gebunden. D.h. das vom Nutzer verbundene Netzlaufwerk gibt's beim Administrator nicht.

Grüße
Dalai
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: ParamStr(0) mit UNC-Pfad

  Alt 1. Dez 2017, 14:09
Stimmt, Netzlaufwerk vs. Admin ist eine gute Idee!


Wie lang ist der UNC-Pfad? Wenn ich mir den Quellcode in der Delphi-RTL zu ParamStr() anschaue - Da wird die Rückgabe von GetModuleFileName nicht ausgewertet (wenn z.B. der 260 lange Puffer nicht reicht).

https://msdn.microsoft.com/de-de/lib...(v=vs.85).aspx
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: ParamStr(0) mit UNC-Pfad

  Alt 1. Dez 2017, 14:58
ParamStr(0) und Delphi-Referenz durchsuchenApplication.ExeName gibt "theoretisch" den ersten "Parameter" im MSDN-Library durchsuchenGetCommandLine wieder,
aber nur theoretisch, denn da dort auch ein relativer Pfad drin stehn kann, weil das genau dem Aufruf z.B. im MSDN-Library durchsuchenShellExecute entspricht,
nimmt Delphi stattdessen den Wert aus GetModuleFileName(0), was dem Pfad der gemappten EXE im Arbeitsspeicher entspricht.


Am, Ende kommt es darauf an, wie Windows den Namen des gemappten Speicherbereichs auflöst
und wie TPath.Combine mit UNC-Pfaden umgeht.

Ich würde erstmal bei TPath nachsehn, da ich mit dem Zeug öfters mal Probleme habe und nicht immer alles so geht, wie man es vermuten könnte.
* Was gibt ParamStr(0) für einen Wert aus?
* Auch mal GetCommandLine und GetModuleFileName direkt ansehn
* und was macht TPath.Combine
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#14

AW: ParamStr(0) mit UNC-Pfad

  Alt 1. Dez 2017, 16:09
Danke für die Anregungen, ich werde das beim Kunden ausprobieren. Hoffentlich denke ich daran, Rückmeldung zu geben. Aber im Prinzip scheint Delphi alles richtig zu machen. Vermutlich bin ich das Problem

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 05:02 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