ParamStr(0) und
Application.ExeName gibt "theoretisch" den ersten "Parameter" im
GetCommandLine wieder,
aber nur theoretisch, denn da dort auch ein relativer Pfad drin stehn kann, weil das genau dem Aufruf z.B. im
ShellExecute 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