Parameters: String;
Parameters: String;
Свойство Parameters определяет параметры командной строки, с которыми открывается файл (приложение).
Для выполнения примера разместите на форме компоненты: два Button, два Label и Timer с наименованиями «Button1», «Button2», «Label1», «Label2» и «Timer1» соответственно.
Добавьте ссылки на системные сборки: Host, Ui, Forms.
Пример является обработчиком события OnClick для компонента «Button1», OnClick для компонента «Button2», OnTimer для компонента «Timer1».
Class TESTForm: Form
Button1: Button;
Button2: Button;
Label1: Label;
Label2: Label;
Timer1: Timer;
Process: IShellProcess;
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
Info: IShellExecuteInfo;
Begin
Info := New ShellExecuteInfo.Create;
Info.Directory := "C:\Program Files\Foresight\Foresight Analytics Platform 9.2";
Info.File := "Studio.exe";
Info.Parameters := "Repository/user@password";
Info.WaitToTerminate := True;
Info.WaitTimeout := 10000;
Process := New ShellProcess.Create;
Process.Start(Info);
Timer1.Enabled := True;
End Sub Button1OnClick;
Sub Timer1OnTimer(Sender: Object; Args: IEventArgs);
Begin
If Process <> Null Then
If Not Process.HasExited Then
Label1.Text := "Процесс выполняется";
Else
Label1.Text := "Процесс завершен. Код завершения(0-Программа завершила выполнение;-1-Программа завершена принудительно):
" + Process.ExitCode.ToString;
Label2.Text := "Поток вывода:" + Process.Output + "; " + "Поток ошибок:" + Process.Error;
End If;
Else
Label1.Text := "Процесс не запущен";
End If;
End Sub Timer1OnTimer;
Sub Button2OnClick(Sender: Object; Args: IMouseEventArgs);
Begin
Process.Kill;
End Sub Button2OnClick;
End Class TESTForm;
После выполнения примера:
При нажатии на кнопку «Button1» будет запущено приложение «Форсайт. Аналитическая платформа». Платформа запустится с параметром для автоматического подключения к схеме репозитория «Repository».
В компоненте «Label1» будут отображаться сообщения о статусе выполнения приложения.
В течение десяти секунд текущее приложение будет ожидать завершения его работы и будет недоступно. По истечении этого времени текущее приложение вновь станет доступно для работы.
При нажатии на кнопку «Button2» будет прерван процесс выполнения и приложение завершит свою работу.
После завершения процесса в компоненте «Label2» будет отображаться сообщение о потоке вывода и ошибок.
См. также: