Something strange is going on...
It works
var
AProcess: TProcessUTF8;
prefix: string;
begin
AProcess := TProcessUTF8.Create(nil);
try
prefix := 'C:\Documents and Settings\alex\Рабочий стол\test_prog_gui\';
AProcess.Commandline := Format('cmd.exe /c "%s" %s param2 < %s',
[prefix + 'myapp.exe', 'param1', 'data\in.file']);
...
It works
AProcess.Commandline := Format('cmd.exe /c %s %s param2 < "%s"',
['myapp.exe', 'param1', prefix + 'data\in.file']);
It does not works
AProcess.Commandline := Format('cmd.exe /c "%s" %s param2 < "%s"',
[prefix + 'myapp.exe', 'param1', prefix + 'data\in.file']);