Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!snorkelwacker.mit.edu!bloom-picayune.mit.edu!athena.mit.edu!pshuang From: pshuang@athena.mit.edu (Ping-Shun Huang) Newsgroups: comp.os.msdos.programmer Subject: Re: Shrinking my program to run another Message-ID: Date: 21 Jun 91 01:34:16 GMT References: <141957@unix.cis.pitt.edu> Sender: news@athena.mit.edu (News system) Organization: Massachusetts Institute of Technology Lines: 39 In-Reply-To: ejost@unix.cis.pitt.edu's message of 20 Jun 91 00:32:47 GMT In article <141957@unix.cis.pitt.edu> ejost@unix.cis.pitt.edu (Ernest J. Obusek) writes: > A program I am working on has grown quite large. The language I am > using doesn't support overlays. Solution: switch languages. OK, OK, that's not a viable solution.... > I'd like to be able to have the main part remove itself from memory as > much as possible while running one of the other parts. If you've written your main program module in such a way that it doesn't need to retain the value of any memory variables through a call to one of the other four parts, you could stuff keystrokes into the buffer; this is *NOT* an elegant solution, but it would work. For commercial library solutions, the Programmer's Shop lists under General_Libraries:Operating_System_Enhancements: EXEC, by Blaise Computing Overlay, by Gambit Software Hold Everything, by South Mountain Software These products are designed to swap out your application (to hard disk or expanded/extended memory) so that the user can shell out to DOS with lots of memory to run another application. They might let you shell out to some other program than COMMAND.COM. From the product descriptions it would appear that they support multiple languages, which means you should be able to call them from just about any language with some modicum of low-level access. An amusing solution, if there are any commercial libraries to turn your application into a TSR and swap it out to disk when not in use (and there are if you're writing in Foxbase, Clipper, dBASE, C, Pascal, assembler, etc.) would be to turn the main module into a TSR which is always popped up unless one of the other four modules are in use. -- Above text where applicable is (c) Copyleft 1991, all rights deserved by: UNIX:/etc/ping instantiated (Ping Huang) [INTERNET: pshuang@athena.mit.edu]