Wie gesagt, der FileDialog macht es standardmäßig gern.
Kann man (oftmals) deaktivieren, indem man in dessen Optionen den Filetest deaktiviert .... aber sicher ist das nicht.
Und es kann durch vieles passieren.
z.B. wie und von du das Programm startest.
* siehe Delphi -> Start -> Parameter (Arbeitsverzeichnis)
* oder bei einem Link im Windows (siehe "Ausführen in")
* oder aus einer Batch
CMD:
Code:
cd /d D:\
XML
D:\Software_Entwicklung\VersandApp\VersandApp\BD_VersandClient\
Win32\Debug\BD_DHL.exe
cd /d D:\Software_Entwicklung\VersandApp\VersandApp\BD_VersandClient
Win32\Debug\BD_DHL.exe
.\
Win32\Debug\BD_DHL.exe
versus
Code:
cd /d D:\Software_Entwicklung\VersandApp\VersandApp\BD_VersandClient\
Win32\Debug
BD_DHL.exe
cd /d D:\Software_Entwicklung\VersandApp\VersandApp\BD_VersandClient\
Win32\Debug
D:\Software_Entwicklung\VersandApp\VersandApp\BD_VersandClient\
Win32\Debug\BD_DHL.exe
oder
oder
oder
Du weißt z.B. auch nie, was eine Fremdkomponente in deinem Programm jetzt/irgendwann macht.
z.B. Acrobat via
ActiveX in der eigenen Anwendung ... sowas ergibt immer wieder sehr viel Spaß
Darum wird auch immer wieder von abgeraten, dass man mit relativen Pfaden arbeitet.
Und genau genommen nutzt du hier einen relativen Pfad, abhängig ausgehend von dem "zufälligen" Arbeitsverzeichnis.