[fpc-pascal] Re: TProcess questions
Alexander Todorov
alexx.todorov at gmail.com
Tue Oct 3 12:01:56 CEST 2006
Marco van de Voort wrote:
> > Can you add the following to TProcess instead of using the CommandLine property:
> > example:
> > property ProcessName: String - the process to be executed
> > property Params : TStringList - list of command line params to be
> > passed to the process
> >
> > Why should quote characters be stripped as it is in the current
> > implementation?
>
> When executing, there is a difference between shell notation and the
> programming interface.
>
> e.g.
>
> program name parammeter 1 parameter 2 parameter 3
>
> should be written on the cmdline as
>
> "program name" "parameter 1" "parameter 2" "parameter 3"
>
> But should be passed to a kernel function as:
> filename:='/full/path/to/program name'; // no quotes;
> param[0]:='parameter 1'; // no quotes;
> param[1]:='parameter 2'; // no quotes;
> param[2]:='parameter 3'; // no quotes;
>
> This is the difference between shell api and deeper api. E.g
>
> shell deeper
> Unix: (fp)system() (fp)exec*
> winxx: shellexecute createprocess
>
> Another usual difference between these two is that the shell versions search
> for the binary, while you need to pass full path to the "deeper" category of
> functions.
Thanks for the explanation.
More information about the fpc-pascal
mailing list