Rob,

On 20/05/2014 06:57, Rob Arthan wrote:
I agree that it wasn’t very clear whether this was thought to be a
bug in the MinGW header files or not.

I may have a look and see if this is something I can fix easily but there's no point if they are going to fix in Mingw anyway. Last time I used Mingw I didn't have this problem.

I would actually have expected the “GUI” to be a command prompt
window. I.e., I would have expected poly to be a console application.
This is how python comes, for example. Something that behaves like a
console application is what cc on MinGW seems to give you if you
don’t give it any of the Windows-specific command line options when
you compile a standard C program.

What exactly do you mean by a console application? There is a legacy console mode but it is very inconvenient to use. Cutting and pasting in particular are not at all intuitive. Why exactly do you want to use console mode? More generally, what exactly is it that you want to do that the present version of Poly/ML will not let you do? If you have an ML program that you want to run as a process with a separate GUI application that is easy. Just create the input and output pipes and pass them as arguments in the CreateProcess call. The ML process will be completely invisible and all the user will see is your GUI. That's how I normally run Poly/ML.

The only circumstance where the present system may not work satisfactorily is if you have written a GUI application in ML itself, for instance the mlEdit example in mlsource/extra/Win/Examples. When the user double-clicks on the application to run it there would be an extra window because the RTS creates its own GUI.

Cygwin does work for me, but unfortunately, having to install it is a
stopper for some of my potential users. I tried compiling under MinGW
with __CYGWIN__ set, but it doesn’t work. Would it be difficult to
separate the choice between polystub.c being a standard C application
and a Windows application from the __CYGWIN__ flag?

Why does the user need to install Cygwin? If you build an application under Cygwin you just need to put the Cygwin DLL and perhaps a few library DLLs in the same folder as your application. Windows always searches for DLLs first in the same folder as the executable.

David
_______________________________________________
polyml mailing list
polyml@inf.ed.ac.uk
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to