[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 mailing list