|
@@ -20,6 +20,9 @@ type
|
|
TSendLineMethod = procedure(const ALine: RawByteString) of object;
|
|
TSendLineMethod = procedure(const ALine: RawByteString) of object;
|
|
TBusyEvent = procedure(var ASleep: boolean) of object;
|
|
TBusyEvent = procedure(var ASleep: boolean) of object;
|
|
|
|
|
|
|
|
+var
|
|
|
|
+ AutomationEnvironment: TStringList;
|
|
|
|
+
|
|
procedure RunProcessAutomation(AExecutable: string; AParameters: array of string;
|
|
procedure RunProcessAutomation(AExecutable: string; AParameters: array of string;
|
|
out ASendLine: TSendLineMethod;
|
|
out ASendLine: TSendLineMethod;
|
|
AOnReceiveOutput: TReceiveLineEvent;
|
|
AOnReceiveOutput: TReceiveLineEvent;
|
|
@@ -118,6 +121,8 @@ begin
|
|
p := TAutomatedProcess.Create(nil);
|
|
p := TAutomatedProcess.Create(nil);
|
|
ASendLine := @p.SendLine;
|
|
ASendLine := @p.SendLine;
|
|
try
|
|
try
|
|
|
|
+ for i := 0 to AutomationEnvironment.Count-1 do
|
|
|
|
+ p.Environment.Add(AutomationEnvironment[i]);
|
|
p.Executable:= AExecutable;
|
|
p.Executable:= AExecutable;
|
|
for i := 0 to high(AParameters) do
|
|
for i := 0 to high(AParameters) do
|
|
p.Parameters.Add(AParameters[i]);
|
|
p.Parameters.Add(AParameters[i]);
|
|
@@ -157,5 +162,13 @@ begin
|
|
Input.Write(LineEndingStr[1],length(LineEndingStr));
|
|
Input.Write(LineEndingStr[1],length(LineEndingStr));
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+initialization
|
|
|
|
+
|
|
|
|
+ AutomationEnvironment := TStringList.Create;
|
|
|
|
+
|
|
|
|
+finalization
|
|
|
|
+
|
|
|
|
+ AutomationEnvironment.Free;
|
|
|
|
+
|
|
end.
|
|
end.
|
|
|
|
|