On 10/3/06, Michael Van Canneyt <[EMAIL PROTECTED]> 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
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to