From 207f0ec066d7841bb0f5bfcfe2586674bad47b55 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Wed, 15 Jul 2015 14:47:30 +0200 Subject: [PATCH] project runner: uses new TCEProcess see b911e10e9398f43eac410fb66e37eeb21905e480 --- src/ce_dmdwrap.pas | 14 +++++++++++++- src/ce_nativeproject.pas | 12 ++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/ce_dmdwrap.pas b/src/ce_dmdwrap.pas index 68d1da2e..883973a1 100644 --- a/src/ce_dmdwrap.pas +++ b/src/ce_dmdwrap.pas @@ -5,7 +5,7 @@ unit ce_dmdwrap; interface uses - classes, sysutils, process, asyncprocess, ce_common, ce_inspectors; + classes, sysutils, process, asyncprocess, ce_common, ce_inspectors, ce_processes; (* @@ -276,6 +276,7 @@ type procedure setProcess(var aProcess: TProcess); procedure setProcess(var aProcess: TAsyncProcess); procedure setProcess(var aProcess: TCheckedAsyncProcess); + procedure setProcess(var aProcess: TCEProcess); end; (***************************************************************************** @@ -1031,6 +1032,17 @@ begin aProcess.StartupOptions := aProcess.StartupOptions + [suoUseShowWindow]; end; +procedure TCustomProcOptions.setProcess(var aProcess: TCEProcess); +begin + aProcess.Parameters.Clear; + aProcess.Parameters.AddText(symbolExpander.get(Parameters.Text)); + aProcess.Executable := fExecutable; + aProcess.ShowWindow := fShowWin; + aProcess.Options := fOptions; + aProcess.CurrentDirectory := fWorkDir; + aProcess.StartupOptions := aProcess.StartupOptions + [suoUseShowWindow]; +end; + procedure TCustomProcOptions.setExecutable(const aValue: TCEFilename); begin if fExecutable = aValue then exit; diff --git a/src/ce_nativeproject.pas b/src/ce_nativeproject.pas index 0323f540..52b4e223 100644 --- a/src/ce_nativeproject.pas +++ b/src/ce_nativeproject.pas @@ -9,7 +9,7 @@ uses LclProc, {$ENDIF} Classes, SysUtils, process, strUtils, ce_common, ce_writableComponent, - ce_dmdwrap, ce_observer, ce_interfaces; + ce_dmdwrap, ce_observer, ce_interfaces, ce_processes; type @@ -33,7 +33,7 @@ type fConfIx: Integer; fUpdateCount: NativeInt; fProjectSubject: TCEProjectSubject; - fRunner: TCheckedAsyncProcess; + fRunner: TCEProcess; fOutputFilename: string; fCanBeRun: boolean; procedure updateOutFilename; @@ -693,7 +693,7 @@ begin result := false; killProcess(fRunner); // - fRunner := TCheckedAsyncProcess.Create(nil); // fRunner can use the input process widget. + fRunner := TCEProcess.Create(nil); // fRunner can use the input process widget. currentConfiguration.runOptions.setProcess(fRunner); if runArgs <> '' then begin @@ -730,16 +730,16 @@ end; procedure TCENativeProject.runProcOutput(sender: TObject); var - proc: TProcess; + proc: TCEProcess; lst: TStringList; str: string; msgs: ICEMessagesDisplay; begin - proc := TProcess(sender); + proc := TCEProcess(sender); lst := TStringList.Create; msgs := getMessageDisplay; try - processOutputToStrings(proc, lst); + proc.getFullLines(lst); for str in lst do msgs.message(str, Self, amcProj, amkBub); finally