[fpc-pascal] Redirecting input to a child process
Ludo Brands
ludo.brands at free.fr
Sun May 8 19:37:32 CEST 2011
Anton,
I don't see where you close the mProcess.input.
I tried several things myself which didn't work:
- ctrl Z Return is an eof when you run more in a cmd window.
- call explicitly CloseHandle(mProcess.Input.Handle);
Pipes.pp doesn't have any routines to clean up the pipe handles which is
according to msdn not good. Pipes close when one of the 2 processes stops
but in larger applications this could lead to memory leaks.
Still looking further into it.
Ludo
-----Message d'origine-----
De : fpc-pascal-bounces at lists.freepascal.org
[mailto:fpc-pascal-bounces at lists.freepascal.org] De la part de Anton
Shepelev
Envoyé : dimanche 8 mai 2011 19:18
À : FPC-Pascal users discussions
Objet : RE : [fpc-pascal] Redirecting input to a child process
Ludo Brands:
> If you run 'more' in a cmd window you'll notice that 'more'
> echoes the input but only sends to stdout when a
> return is entered. I modified the program to send
> 'Anton'#10 and the program reads back 'Anton'#10 from stdout.
Thank you, Ludo, this is great!
But why doesn't the process finish? I thought that the clos- ing of the
write end of the StdIn pipe handle should cause a EOF to be 'seen' at the
read end, but this does not happen.
Maybe these's some explicit way to signal end of input?
Anton
_______________________________________________
fpc-pascal maillist - fpc-pascal at lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
More information about the fpc-pascal
mailing list