Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Eigenes Programm automatisch über Dateiendung (doppelklick) starten

  Alt 15. Aug 2018, 10:44
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.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat