Ich habe nur Delphi 2007, deshalb kann ich es nur darunter testen :
Wenn ich das
RAD Studio mit dem Arbeitsverzeichnis "D:\Entwicklung" starte kommt folgendes raus :
Input: "C:"
SysUtils.ExpandFileName : c:\program files (x86)\codegear\
rad studio\5.0\license
WideString ExpandFileName: c:\program files (x86)\codegear\
rad studio\5.0\license
AnsiString ExpandFileName: c:\program files (x86)\codegear\
rad studio\5.0\license
Fixed Buffer Size ExpandFileName: c:\program files (x86)\codegear\
rad studio\5.0\license
Wenn ich jetzt allerdings das
RAD Studio mit dem Arbeitsverzeichnis "C:\Program Files (x86)\CodeGear\
RAD Studio\5.0\bin" kommt folgendes raus :
Input: "C:"
SysUtils.ExpandFileName : C:\Program Files (x86)\CodeGear\
RAD Studio\5.0\bin
WideString ExpandFileName: C:\Program Files (x86)\CodeGear\
RAD Studio\5.0\bin
AnsiString ExpandFileName: C:\Program Files (x86)\CodeGear\
RAD Studio\5.0\bin
Fixed Buffer Size ExpandFileName: C:\Program Files (x86)\CodeGear\
RAD Studio\5.0\bin
Alles getestet unter Windows VISTA x64.
Edit:
Ich lasse das Arbeitsverzeichnis auf "C:\Program Files (x86)\CodeGear\
RAD Studio\5.0\bin" kommt folgendes raus :
Input: "D:"
SysUtils.ExpandFileName : D:\Delphi-Praxis-Forum\build
WideString ExpandFileName: D:\Delphi-Praxis-Forum\build
AnsiString ExpandFileName: D:\Delphi-Praxis-Forum\build
Fixed Buffer Size ExpandFileName: D:\Delphi-Praxis-Forum\build
Input: "E:"
SysUtils.ExpandFileName : E:\
WideString ExpandFileName: E:\
AnsiString ExpandFileName: E:\
Fixed Buffer Size ExpandFileName: E:\
Das heißt für mich, dass wenn ich das Laufwerk verweise, wo Delphi installiert ist, wird das Arbeitsverzeichnis genommen oder das Licenceverzeichnis. Wenn ich jetzt auf das Laufwerk verweise, wo die Test.exe ausgeführt wird, wird mir ebenfalls das Arbeistverzeichnis angegeben. Verweise ich auf ein Laufwerk, welche nichts mit dem Testprogramm noch mit Delphi in dem Moment zu tun hat, dann bekommt ich nur den Laufwerksbuchstaben.