[fpc-pascal] TProcess vs RunProcess()
Marco van de Voort
marcov at stack.nl
Mon Jan 30 09:06:56 CET 2017
In our previous episode, Lars said:
> > Executeprocess doesn't support piping. It orignally was mainly meant as a
> > portable dos.exec with parameters passed separately and without string
> > length limits, implementable on RTL level.
> But doesn't all processes report to stderr?
Afaik there are only conventions. And the convention to return a non zero
returnvalue on error is much stronger than parsing stderr.
> Another idea is to modify AssignStream to work on windows as AFAIK it only
> works on unix from the unix units of rtl..
Yes, Unix only, and the abstracted OS independent pipes already are in unit
pipes used by TProcess.
> Reason I want to avoid TProcess is simply because cgi programs being
> around 30-100K are easier to upload for people with limited internet
> connection speeds. As soon as I pull in large units that involve lots of
> classes the cgi programs become over 200-500K.
Yes. And they might fit on one side of a 5.25" inch dd floppy too! Yeah,
let's party like it's 1999!
> However I will use tprocess if it's a time save, which indeed it is
> instead of rewriting assignstream for windows.
More information about the fpc-pascal