On 2017-02-28 16:28, Michael Van Canneyt wrote: > poWaitOnExit should not be needed, as this will cause Execute to wait for > process exit... > > It seems likely that this will interfere with reading from output: when the > output buffer is full, the executed process will block.
Ah. I've also been reading the docs and this FPC wiki page... http://wiki.freepascal.org/Executing_External_Programs In the wiki they talked about a dead-lock when poWaitOnExit is used and the output buffer is full. It seems that is exactly what I experienced. I'll increase the buffer size I use to 2048 and remove the poWaitOnExit and see how it goes. The "Reading large output" example also uses a TMemoryStream instead of a string buffer like I do, but I think we should have the same end result. http://wiki.freepascal.org/Executing_External_Programs#Reading_large_output If my code still doesn't work, I'll switch to using a TMemorySteam for storing the output and retest. Thanks for the extra pair of eyes. Regards, Graeme -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal