|
@@ -797,7 +797,7 @@ begin
|
|
|
end;
|
|
|
|
|
|
|
|
|
-function ExecuteProcess(Const Path: AnsiString; Const ComLine: AnsiString;Flags:TExecuteFlags=[]):integer;
|
|
|
+function ExecuteProcess(Const Path: RawByteString; Const ComLine: RawByteString;Flags:TExecuteFlags=[]):integer;
|
|
|
var
|
|
|
e : EOSError;
|
|
|
CommandLine: AnsiString;
|
|
@@ -819,11 +819,50 @@ begin
|
|
|
end;
|
|
|
|
|
|
|
|
|
-function ExecuteProcess (const Path: AnsiString;
|
|
|
- const ComLine: array of AnsiString;Flags:TExecuteFlags=[]): integer;
|
|
|
+function ExecuteProcess (const Path: RawByteString;
|
|
|
+ const ComLine: array of RawByteString;Flags:TExecuteFlags=[]): integer;
|
|
|
|
|
|
var
|
|
|
- CommandLine: AnsiString;
|
|
|
+ CommandLine: RawByteString;
|
|
|
+ I: integer;
|
|
|
+
|
|
|
+begin
|
|
|
+ Commandline := '';
|
|
|
+ for I := 0 to High (ComLine) do
|
|
|
+ if Pos (' ', ComLine [I]) <> 0 then
|
|
|
+ CommandLine := CommandLine + ' ' + '"' + ComLine [I] + '"'
|
|
|
+ else
|
|
|
+ CommandLine := CommandLine + ' ' + Comline [I];
|
|
|
+ ExecuteProcess := ExecuteProcess (Path, CommandLine);
|
|
|
+end;
|
|
|
+
|
|
|
+function ExecuteProcess(Const Path: unicodeString; Const ComLine: unicodeString;Flags:TExecuteFlags=[]):integer;
|
|
|
+var
|
|
|
+ e : EOSError;
|
|
|
+ CommandLine: UnicodeString;
|
|
|
+
|
|
|
+begin
|
|
|
+ dos.exec_ansistring(path,comline);
|
|
|
+
|
|
|
+ if (Dos.DosError <> 0) then
|
|
|
+ begin
|
|
|
+ if ComLine <> '' then
|
|
|
+ CommandLine := Path + ' ' + ComLine
|
|
|
+ else
|
|
|
+ CommandLine := Path;
|
|
|
+ e:=EOSError.CreateFmt(SExecuteProcessFailed,[CommandLine,Dos.DosError]);
|
|
|
+ e.ErrorCode:=Dos.DosError;
|
|
|
+ raise e;
|
|
|
+ end;
|
|
|
+ Result := DosExitCode;
|
|
|
+end;
|
|
|
+
|
|
|
+
|
|
|
+function ExecuteProcess (const Path: unicodeString;
|
|
|
+ const ComLine: array of unicodeString;Flags:TExecuteFlags=[]): integer;
|
|
|
+
|
|
|
+var
|
|
|
+ CommandLine: UnicodeString;
|
|
|
I: integer;
|
|
|
|
|
|
begin
|