Hi Mads, thanks a lot for your reply. I wasn't subscribed to wxhaskell-develop yet so I only today realized you answered my posting.
I applied your supposal on my Windows machine with the following results: wxExecProcess now indeed yields output on stderr, but output on both stdout and stderr are somewhat incomplete (with no change when setting output buffering in processtest.exe to NoBuffering): display on stdout frame: Stdout: 100: Info 98: Info 96: Info 94: Info 92: Info 90: Info 88: Info 86: Info 84: Info 82: Info Stdout: 80: Info 78: Info ... and on stderr frame: Stderr: 99: Error 97: Error 95: Error 93: Error 91: Error 89: Error 87: Error 85: ErroStderr: r 83: Error ... That is, the first 8 bytes (Stdout: / Stderr: ) are most of the time vanished. Whereas processExecAsyncTimed yields the correct output (of course only on stdout): Stdout: 100: Info Stdout: 98: Info Stdout: 96: Info Stdout: 94: Info ... Do you have any idea? (Before starting to delve deep into the process management myself...) Thanks again, Bernd > Hi Bernd > > Bernd Holzmüller wrote: >> Hi all, >> >> I am developing a test management GUI where processes are started and >> their output (on stdout and stderr) are shown on corresponding console >> windows. The process management worked quite OK with version 0.9.4 but >> does no longer work in version 0.10.3 (using ghc 6.8.3 on Windows XP). >> >> The attached small example application shows what happens: with >> processExecAsync only garbage is shown on both the stdout and the stderr >> console window, with processExecAsyncTimed the stdout console works >> fine, but the stderr console shows nothing. Main.hs is the wxHaskell GUI >> with two buttons, both calling the application compiled from >> Testproc.hs, one using processExecAsync, one using the Timed variant. >> The attached makefile builds everything. >> >> If someone with understanding of the internals of wxHaskell could have a >> look on this topic, I would be very grateful. Perhaps the (soon?) coming >> new wxHaskell version 0.11 will do correctly? >> >> Thanks, >> Bernd >> > > Your processExecAsyncTimed example works on Linux. But of cause that do > not help you much. The processExecAsync example do not work on Linux > either. > > A while ago I got tired of the hard-to-get-to-work nature of > processExecAsyncTimed and therefore wrote my own process executor. I > have attached my own process executor and an adapted version of your > code, which works for me (on Linux). You will have to adapt it a little > bit to work on windows (properly just changing "./testproc.exe" to > "testproc" should do). > > I would love to hear if it works on your machine. > > > Greetings, > > Mads Lindstrøm ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ wxhaskell-devel mailing list wxhaskell-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxhaskell-devel