IProcess.Start

Синтаксис Fore

Start(RawInfo: IWinShellExecuteInfo);

Синтаксис Fore.NET

Start(RawInfo: Prognoz.Platform.Interop.Ui.WinShellExecuteInfo);

Параметры

RawInfo. Информация о запускаемом процессе.

Описание

Метод Start запускает процесс.

Пример Fore

Для выполнения примера разместите на форме компоненты: два Button, Label и Timer с наименованиями «Button1», «Button2», «Label1» и «Timer1» соответственно.

Добавьте ссылки на системные сборки: Host, Ui, Forms.

Пример является обработчиком события OnClick для компонента «Button1», OnClick для компонента «Button2», OnTimer для компонента «Timer1».

Class TESTForm: Form
    Button1: Button;
    Label1: Label;
    Timer1: Timer;
    Button2: Button;
    Process: IProcess;
    Info: IShellExecuteInfo;

    
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
    
Var
        WinInfo: IWinShellExecuteInfo;
        WinProc: IWinProcess;
    
Begin
        WinInfo := 
New WinShellExecuteInfo.Create;
        Info := WinInfo;
        Info.Directory := 
"C:\Program Files\Foresight\Foresight Analytics Platform 9.2";
        Info.File := 
"Studio.exe";
        WinProc := 
New WinProcess.Create;
        Process := WinProc;
        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;
        
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;

После выполнения примера:

  1. При нажатии на кнопку «Button1» будет запущено приложение «Форсайт. Аналитическая платформа».

  2. В компоненте «Label1» будут отображаться сообщения о статусе выполнения приложения.

  3. При нажатии на кнопку «Button2» будет прерван процесс выполнения и приложение завершит свою работу.

См. также:

IProcess