[gelöst] $(TargetCmdLine) vs ExtractFilePath(Paramstr(0))

Für Fragen rund um die Ide und zum Debugger

[gelöst] $(TargetCmdLine) vs ExtractFilePath(Paramstr(0))

Beitragvon kralle » 23. Jul 2017, 09:57 [gelöst] $(TargetCmdLine) vs ExtractFilePath(Paramstr(0))

OS: Linux Mint 18.2 Cinnamon 64-Bit
FPC: 3.02
Laz: 1.9

Moin,

nach dem Compilieren soll eine Anwendung in "wine" gestartet werden und ich benutze deshalb den Aufruf "/usr/bin/wine $(TargetCmdLine)".

Jetzt liefert ein
Code: Alles auswählen
ExtractFilePath(Paramstr(0))
in der Anwendung nach dem Start unter Linux als Startpfad:
"/home/laz-user/projekte/Firebird Demo/linux/".
Für die Anwendung wenn sie für Windows erstellt wird, würde der Pfad
"/home/laz-user/projekte/Firebird Demo/win32/" bzw. "/home/laz-user/projekte/Firebird Demo/win64/" heißen.

Bei den Windowsversionen kommt es nach dem Compilieren aber zu der Fehlermeldung:
wine: cannot find '/home/laz-user/projekte/Firebird'


Das heißt der Pfad ist viel kürzer.
Warum?

Gruß HEiko
Zuletzt geändert von kralle am 23. Jul 2017, 10:52, insgesamt 1-mal geändert.
Linux Mint 19 und Lazarus 1.8.4 (FPC-Version: 3.0.4)
Windows 10 Pro Lazarus 1.8.4 + Delphi XE7SP1
kralle
 
Beiträge: 525
Registriert: 17. Mär 2010, 14:50
Wohnort: Bremerhaven
OS, Lazarus, FPC: Linux Mint 18.3 - Lazarus 1.9 - FPC 3.0.4 -Win8.1 & XE7Pro | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 23. Jul 2017, 10:25 Re: $(TargetCmdLine) vs ExtractFilePath(Paramstr(0))

Das Leerzeichen in "Firebird Demo"? Starte mal per:
Code: Alles auswählen
/usr/bin/wine "$(TargetCmdLine)"
wp_xyz
 
Beiträge: 2700
Registriert: 8. Apr 2011, 08:01

Beitragvon kralle » 23. Jul 2017, 10:43 Re: $(TargetCmdLine) vs ExtractFilePath(Paramstr(0))

Moin,
wp_xyz hat geschrieben:Das Leerzeichen in "Firebird Demo"? Starte mal per:
Code: Alles auswählen
/usr/bin/wine "$(TargetCmdLine)"


Aua, da würde ich jetzt nicht drauf gekommen. Danke.
Ist das Grundsätzlich bei allen Variablen so? Auch bei $(TargetOS) , $(BuildMode) usw?

Gruß Heiko
Linux Mint 19 und Lazarus 1.8.4 (FPC-Version: 3.0.4)
Windows 10 Pro Lazarus 1.8.4 + Delphi XE7SP1
kralle
 
Beiträge: 525
Registriert: 17. Mär 2010, 14:50
Wohnort: Bremerhaven
OS, Lazarus, FPC: Linux Mint 18.3 - Lazarus 1.9 - FPC 3.0.4 -Win8.1 & XE7Pro | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 23. Jul 2017, 10:50 Re: $(TargetCmdLine) vs ExtractFilePath(Paramstr(0))

Das hat nichts mit den Variablen zu tun, sondern mit der Shell, die einen Parameter mit Leerzeichen als zwei (oder mehr - je nach Anzahl der Leerzeichen) Parameter interpretiert. Durch die umschließenden Anführungszeichen wird der Shell mitgeteilt, dass es sich um einen einzigen Parameter handelt.
wp_xyz
 
Beiträge: 2700
Registriert: 8. Apr 2011, 08:01

Beitragvon kralle » 23. Jul 2017, 10:51 Re: $(TargetCmdLine) vs ExtractFilePath(Paramstr(0))

Moin,

wp_xyz hat geschrieben:Das hat nichts mit den Variablen zu tun, sondern mit der Shell, die einen Parameter mit Leerzeichen als zwei (oder mehr - je nach Anzahl der Leerzeichen) Parameter interpretiert. Durch die umschließenden Anführungszeichen wird der Shell mitgeteilt, dass es sich um einen einzigen Parameter handelt.


Okay, danke.
Gruß Heiko
Linux Mint 19 und Lazarus 1.8.4 (FPC-Version: 3.0.4)
Windows 10 Pro Lazarus 1.8.4 + Delphi XE7SP1
kralle
 
Beiträge: 525
Registriert: 17. Mär 2010, 14:50
Wohnort: Bremerhaven
OS, Lazarus, FPC: Linux Mint 18.3 - Lazarus 1.9 - FPC 3.0.4 -Win8.1 & XE7Pro | 
CPU-Target: 64Bit
Nach oben

• Themenende •

Zurück zu Benutzung der IDE



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

porpoises-institution
accuracy-worried