Gern geschehen. Meine Empfehlung für Dateinamen übergabe, pack diese innerhalb von Anführungszeichen, falls es Lücken(Leerstellen) im Namen gibt wird der sonst als zweiter Parameter gehandhabt.
Beispiel:
falscher Aufruf
ProjectX.exe Lade Datei Y.exe
richtiger Aufruf
ProjectX.exe "Lade Datei Y.exe"
Durch die "" wird es als ein Parameter betrachtet.
Delphi zerlegt mein Beispiel auf folgende Weise
ProjectX.exe Lade Datei Y.exe
Delphi-Quellcode:
for i := 1 to ParamCount do
Memo1.Lines.Add(ParamStr(i));
Zitat:
Lade
Datei
Y.exe
Also 3 Parameter insgesamt.
Das dann ein Execute(Lade) schiefgeht ist klar.
ProjectX.exe "Lade Datei Y.exe"
Zitat:
Lade Datei Y.exe
Also 1 Parameter insgesamt.
Da funktioniert ein Execute(Lade Datei Y.exe) weil es nur ein Parameter ist.
Somit klappen auch Leerzeichen Problemlos.
Am besten Du wertest mal ein paar Beispiel-Aufrufe aus um zu sehen was tatsächlich passiert um es besser zu Verstehen.