1. Win32lib: ExitProcess
- Posted by "Thomas Parslow (PatRat)" <tom at almostobsolete.net> Jul 14, 2002
- 401 views
Hi, Does anyone know why win32lib calls ExitProccess when the primary window is closed? It's rather annoying for a couple of reasons, the first is that it stops code being executed after the call to WinMain and the second is that it stops Euphorias "with profile" from working. It probably causes other problems (it probably doesn't allow Euphoria to do its cleanup properly) and I can't see any reason for its use... Thomas Parslow (PatRat) E-Mail/Jabber: tom at almostobsolete.net ICQ: 26359483
2. Re: Win32lib: ExitProcess
- Posted by Robert Craig <rds at RapidEuphoria.com> Jul 15, 2002
- 391 views
Don Phillips writes: > Hey Derek. I am almost sure that this call is not really needed. > Mostly it just unloads the linked DLLs and frees some Windows management > memory. However, since it is technically Euphoria that is doing the > loading of all these objects, I think these things will be cleared up > automatically anyways as soon as Euphoria itself terminates... ( I think). Someone pointed out to me (Euman? Derek?) a long time ago that a small amount of space reserved for loaded .dll's was not being freed when Euphoria for Windows terminated. ExitProcess() frees these .dlls, so I started to use it in my local version of exw.exe. I discovered however (before releasing 2.3) that although ExitProcesss unloads the .dlls, it *doesn't* flush regular files that were written-to but never closed or flushed by the Euphoria program. This is something that the normal C exit() *does* do, and I'd like Euphoria users to be able to count on it. So I went back to using exit(), but I now keep track of all the loaded .dll's and I free them with FreeLibrary() at the end - see Cleanup() in runtime.c in the Euphoria source. Cleanup also outputs the profiling information, displays warning messages, and a few other minor things. So I think it's better that Win32Lib not call ExitProcess(), but if there's any other cleanup that we are now going to miss, I'd like to know about it. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
3. Re: Win32lib: ExitProcess
- Posted by 10963508 at europeonline.com Jul 16, 2002
- 397 views
If you use doEvents(0) in loop and user exits program exw.exe process will still be running. Maybe sending WM_CLOSE again will close that process? ----- Original Message ----- From: "Derek Parnell" <Derek.Parnell at SYD.RABOBANK.COM> To: "EUforum" <EUforum at topica.com> Subject: RE: Win32lib: ExitProcess > > Done. I will suggest that if somebody really, really wants to run > ExitProcess, that they do it in their App after WinMain() returns. > > > -----Original Message----- > > From: Robert Craig [mailto:rds at RapidEuphoria.com] > > Sent: Tuesday, 16 July 2002 7:28 > > To: EUforum > > Subject: Re: Win32lib: ExitProcess > > > > > > Don Phillips writes: > > > Hey Derek. I am almost sure that this call is not really needed. > > > Mostly it just unloads the linked DLLs and frees some > > Windows management > > > memory. However, since it is technically Euphoria that is doing the > > > loading of all these objects, I think these things will be > > cleared up > > > automatically anyways as soon as Euphoria itself > > terminates... ( I think). > > > > Someone pointed out to me (Euman? Derek?) a long time ago > > that a small amount of space reserved for loaded .dll's was > > not being freed > > when Euphoria for Windows terminated. > > > > ExitProcess() frees these .dlls, so I started to use it in my > > local version > > of exw.exe. I discovered however (before releasing 2.3) that although > > ExitProcesss unloads the .dlls, it *doesn't* flush regular files > > that were written-to but never closed or flushed by the > > Euphoria program. > > This is something that the normal C exit() *does* do, and I'd like > > Euphoria users to be able to count on it. So I went back to > > using exit(), > > but I now keep track of all the loaded .dll's and I free them > > with FreeLibrary() at the end - see Cleanup() in runtime.c > > in the Euphoria source. Cleanup also outputs the profiling > > information, > > displays warning messages, and a few other minor things. > > > > So I think it's better that Win32Lib not call ExitProcess(), > > but if there's any other cleanup that we are now going to miss, > > I'd like to know about it. > > > > Regards, > > Rob Craig > > Rapid Deployment Software > > http://www.RapidEuphoria.com > > > > > ================================================================== > > > ================================================================== > > > >