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

Reply via email to