That's what I tried already. It simply echoes the ^Z (right arrow). I tried also to close the pipe explicitly from the sender side without success: mProcess.CloseInput; CloseHandle(mProcess.Input.Handle);
I'm afraid we're looking at a problem with more.com waiting until the process releases the pipe. Closing the handle from one side of the pipe isn't enough to close the pipe. Or as http://msdn.microsoft.com/en-us/library/aa365152%28v=vs.85%29.aspx says: "An instance of a pipe is always deleted when the last handle to the instance of the named pipe is closed". Ludo -----Message d'origine----- De : fpc-pascal-boun...@lists.freepascal.org [mailto:fpc-pascal-boun...@lists.freepascal.org] De la part de waldo kitty Envoyé : dimanche 8 mai 2011 20:29 À : fpc-pascal@lists.freepascal.org Objet : Re: RE : [fpc-pascal] Redirecting input to a child process On 5/8/2011 13:17, Anton Shepelev wrote: > 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. how about sending the ^Z line the CRLF is being sent to indicate line breaks?? that should indicate the EOF which should trigger the ending of the process and closing of the pipe... shouldn't it? _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal