![]() |
AW: ParamStr(0) mit UNC-Pfad
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 |
AW: ParamStr(0) mit UNC-Pfad
Stimmt, Netzlaufwerk vs. Admin ist eine gute Idee! :thumb:
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). ![]() |
AW: ParamStr(0) mit UNC-Pfad
ParamStr(0) und
![]() ![]() aber nur theoretisch, denn da dort auch ein relativer Pfad drin stehn kann, weil das genau dem Aufruf z.B. im ![]() 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. :wall: * Was gibt ParamStr(0) für einen Wert aus? * Auch mal GetCommandLine und GetModuleFileName direkt ansehn * und was macht TPath.Combine |
AW: ParamStr(0) mit UNC-Pfad
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 :stupid:
Sherlock |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 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