[fpc-pascal] TProcess questions

Adrian Maier adrian.maier at gmail.com
Tue Oct 3 10:16:45 CEST 2006


On 10/3/06, Michael Van Canneyt <michael at freepascal.org> wrote:
> > Any idea how should i quote the arguments so that they would be properly
> > treated by TProcess?
>
> You can't. The following lines (line 107 of unix/process.inc)
>      Result:=StringReplace(Result,'"','',[rfReplaceAll]);
>      Result:=StringReplace(Result,'''','',[rfReplaceAll]);
> Will strip all quotes inside a quoted string.
>
> Obviously, this is a bug.

It's a painful one.  I was hoping to switch to TProcess instead of shell (
which isn't  cross-platform )  ...


> > 2.  Where is the TProcess documented on the freepascal website?

Michael, Vincent ,
Thanks for the links for TProcess docs .   :-)

> > 3.  The code returned by the called program can be got with
> > TProcess.ExitCode , right ?   I have a situation in which a program  1
> > , but  TProcess.ExitCode is 0.   Therefore it's impossible to detect
> > the failure.
>
> That can be if the program exited because of a signal.

I'm not sure if this was the case - I'll have to investigate.
Anyway, is it possible to detect this situation ?


Cheers,
Adrian Maier



More information about the fpc-pascal mailing list