Bobrick a écrit :
> Hi.
>
> I'm trying to create a GUI for a console application I have (written by
> someone else, but with permission to use it). The console application
> gathers MIDI data from a port, and returns the data in the form of an
> std::vector<unsigned char>.
>
> What I need to do is get this console application to trigger different
> buttons to light up on a GUI depending on the contents of the
> std::vector<unsigned char> (which is called "message"), but the console
> application depends on being called forever, or until the user hits a
> key to cancel.
>
> My problem is, I'm not sure how to have the function loop forever
> without crashing the application, or alternatively I need to know how I
> can have a key press stop the function doing what its doing and go back
> to being idle.
>
> Can anyone point me in the right direction?
Sure, the door is just here:
http://www.parashift.com/c++-faq-lit...t.html#faq-5.9
Now concerning your problem that depends on the design of the program,
on which OS it runs and how should the final product be working.
The usual solution when using such an external program is to start it in
a thread and parsing I/O for command if needed. If you have POSIX
implmentation of popen, the pstream library is a good stating point.
http://pstreams.sourceforge.net/
Michael