Out of Memory Error while writing EXE

We are currently developing a (fairly large) VB6 App which has developed a major problem.

The problem we have is that whenever we try and compile now we get an "Out of Memory" error WHILE WRITING THE EXE (NOT while compiling).

As stated above - there is no problem running the entire program in design mode - it just won't compile.

Tried using native code and p-code options and turning off all optimisations to no avail.

The program used to compile fine - at some point recently it has stopped working (only things added to it are a couple of modules and references to a couple of ActiveX Dlls).

We're using VB6 SP3 and see the same problem on both NT and 9x machines.

Can anybody shed any light on this.

Who is Participating?
BobbyOwensConnect With a Mentor Commented:
I've had a problem before with opening files and getting out of memory errors. It was due to Source Safe corrupting one of the files. The only way round it was by manually editing the file involved. Try opening every module in your project to see if any are corrupted.

Are you using Source Safe?
Try re-installing VB ,SP3 and all other
component u r using?
paulstampAuthor Commented:
I've tried on a completely fresh machine - no joy unfortunately.
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

paulstampAuthor Commented:
We are using SourceSafe but none of the files have been corrupted. As mentioned before - it does run fine in design mode.
This is what msdn says just check these could be some of the problems.
Good luck

Out of Memory
More memory was required than is available.  

There are too many applications, documents, or source files open.Close any unnecessary applications, documents, or source files that are open.

There is a module or procedure that is too large.Break extremely large modules or procedures into smaller ones.

There are terminate-and-stay resident programs running.Eliminate terminate-and-stay resident programs.

There are too many device drivers loaded.Eliminate unnecessary device drivers.

paulstampAuthor Commented:
Unlikely to be a problem with TSRs or device drivers as my own machine is brand new and hence fairly clean.

Its certainly not anything to do with the number of other apps running or memory available. I have 128mb of RAM and about 3Gb free for swap file !

The large procedure is an ouside possibility but I would expect that to fall during design time, or at least at compile time, rather than while writing the executable.

Note - this is not a run-time-error - there is not even an error number returned : just a dialog pops up when trying to write the executable.

Guy Hengel [angelIII / a3]Billing EngineerCommented:
Hm, maybe you have UserControls in your project?
If yes, check your Initialize and Terminate Events or them, if any generates errors because not in runtime.
paulstampAuthor Commented:
Nope.. no user controls in project.

Does anyone know the mechanics of what VB does during the compile / exe build process. Is it possible that graphics get added into the EXE after the "compilation" phase? If so there could be a corrupt image file that causes the problem.
paulstampAuthor Commented:
Actually... on further inspection one of the files does appear corrupted. I'm quite surprised that running with full compile doesnt spot it.

The curse of SourceSafe strikes again !


Break your project into Active-X Exe's or Active-X Dll's and complied them individually.
you won't get this problem

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.