U++ framework
Do not panic. Ask here before giving up.

Home » Community » Newbie corner » Shutdown procedure by clicking red x
Re: Shutdown procedure by clicking red x [message #30120 is a reply to message #30002] Thu, 09 December 2010 21:37 Go to previous messageGo to previous message
nlneilson is currently offline  nlneilson
Messages: 644
Registered: January 2010
Location: U.S. California. Mojave &...
Contributor
After searching found this that gets deep into the red X to close:
http://www.codeguru.com/columns/vb/article.php/c15579

Also a thread wait would not work as the threads will continuously run unless shut down, which was the problem that seldom happened that required taskmanager or the MS pop up to terminate the app.

With some semi intuitive reasoning to end the threads that have in a while loop with Sleep(980) added this:
// A global bool end;

		while (CommPort.ReadDataWaiting() ) {
		    if(end) break;
                        ...
                    Sleep(980);
                    ....

	void Exit0() {
           end = true; Sleep(2000);
	   if(CommPort.IsOpened()) CommPort.Close();
	   if(CommPort2.IsOpened()) CommPort2.Close();
	   Thread::ShutdownThreads();
	   Break(); // Closes window with 'Cancel'
	}	
void endX(){end = true;	Sleep(2000);}	

GUI_APP_MAIN{
    GPSv2().Run();
    endX();
    if(CommPort.IsOpened()) CommPort.Close();
    if(CommPort2.IsOpened()) CommPort2.Close();
    Thread::ShutdownThreads();
}

Setting end = true; and the Sleep(2000); gives the while loop time to break.
Sometimes if a GPS receiver is not closed properly pulling the receiver plug is about the only way.

This works when clicking the red x (or at least I have not had the error again) as well as the explicit Exit.

Neil

http://www.nlneilson.com/gpsv2.html

[Updated on: Fri, 10 December 2010 00:32]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Copy\Paste Between Project Files Doesn't work
Next Topic: Error meaning
Goto Forum:
  


Current Time: Fri Oct 02 15:48:01 GMT+2 2026

Total time taken to generate the page: 0.00699 seconds