Thanks to you both -- your suggestions set me on the right path to a
solution.
I tried nobbling stdout, stdin and stderr first, but that had no effect.
Then I tried it from pythonw.exe, still with no effect.
My last gasp effort was based on the fact that I'd managed to run wxPython
stuff and the MSDE installer simultaneously from separate DOS prompts,
which suggested that starting them from separate processes might work.
So I moved all the wxPython stuff into a separate script and launched it
with a piped open, using the original script to monitor the MSDE installer
and send updates to the GUI via the pipe.
It's a bit of a hack, but it works!
ยทยทยท
--
Graham
Robin Dunn wrote:
Jeff Shannon wrote:
> But *all* Win16 and DOS processes on the system share a single VM
> between them, and must cooperatively multitask using the old (Win16)
> techniques.
>
> [snip]
>
> You might try modifying your script, so that instead of
> writing to stdout from DOS, it writes to a file (or some gui widget)
and
> run it from pythonw.exe -- that *should* (I'm guessing) avoid the
16-bit
> parts of Win9x, and perhaps allow everything to run properly.
It's actually a little worse than even that, if I remember corectly. On
win9x and winMe many of the standard APIs are still 32-bit wrappers
around
a 16-bit core, and each (or some?) of them must get an exclusive lock
before
the real API is invoked. So it may not be something as simple as
stdout/stderr, but the API used to spawn another process...--
Robin Dunn
--
Graham Ashton <graham@effectif.idps.co.uk>