Question and Answer Database FAQ662C.txt Possible causes for insufficient memory Category :IDE Platform :Windows 3.1 Product : BC++4.5x TC++Dos3.0 TC++Win4.5 Question: Sometimes, when bcw is running, I cannot run any other program (I use Windows 3.11). It does not depend what size it is. The following message appears: Insufficient memory to run this application. I quit one or more Windows applications and then try again. As I close only one little program, such like notepad, I can run an other one. I can run also a bigger one than notepad. When the message appears, I still have 49% of User Resources, 42% of GDI Resources and still enough of RAM (my computer has 16 MB RAM and 30 MB of virtual memory). Our program has 31 DLLs and the totally size of the program is 8.35 MB. Why does this message appear? What are the possible reasons? How can I find the bug? What can I do? Answer: There are several ways that you could have run out of things even 'though there is plenty of raw memory. Run out of any of these things and you will not be able to start another task. Each application has a database entry in the memory below the physical 1 Meg address. If the entries eat too far into that area you will not be able to start another program. Windows 3.1 only provides heap for about 200 windows classes. When that fills up, you are stalled. Windows has a limited heap for GDI resources, bitmaps, cursors, icons, and the like. Again, when it's full, you're stalled. Only 5 device contexts can be active. Once that happens, nothing works until one is freed. There surely are a lot more items than these in Win 3.1 that can keep you from running and I'm sure I don't know them all, but these seem to be the most common ones. 7/2/98 10:32:32 AM
Last Modified: 01-SEP-99