Ответов (5)5
Решение
0
{Вот код для этого. Используйте объект TProcess! }
uses Process;
...
procedure DoProcess;
Var
Proc : TProcess;
Begin
Proc := TProcess.Create(nil);
try
Proc.CommandLine := '/Applications/MyApp.app';
PRoc.Options := Proc.Options + [poWaitOnExit];
Proc.CommandLine := Proc.CommandLine + ' -someparam';
PRoc.Execute;
finally
Proc.free;
end;
End;
0
Я не знаю, есть ли эта функция в библиотеках Lazarus, но в противном случае вы могли бы написать условно скомпилированную версию ShellExecute (), используя информацию из Руководства по программированию служб запуска .
0
Если вы хотите использовать ShellExecute для открытия документа с его предпочтительным приложением, вы можете использовать процедуру OpenDocument из модуля LCLIntf.
Инструмент преобразования Lazarus также использует эту замену для ShellExecute, см. Вики по Lazarus . Внутри он использует open, как упомянул RobS.