This is rather strange. I happen to maintain a huge VB6-application with 26 forms, a dozen UserControls and ssome thousand lines of code, too, and never got problems. I might have also about 3000 string constants declared in the modules where they belong to.

Let me ask how big the .exe file has grown?

There is also a big difference between out of memory at runtime and at compile time.
After my experience you cannot bust 4GB of RAM so quickly, except you are builing huge data structures during runtime.

Please give some more impressions about your program, like how many lines of code, how big the exe, what data structures are used.

If you intend to use a custom text file as I have elaborated on, you'd have to understand that you are also loading the complete list of strings into memory.

You could possibly use an .ini file with all your texts, together with the API function GetPrivateProfileString
http://allapi.mentalis.org/apilist/G...leString.shtml

The file must have the name of your app and the extension .ini.
Therein you must have a section with your texts like:

[MyTexts]
atOn = "On"
atOff = "Off"
atEND = "END"
atSmallH = "h"
atSmallC = "c"

(although I can't quite remember whether the quotes are actually needed)
With the function GetPrivateProfileString you can extract any of the named strings at runtime individually without having to load all the strings into memory.

But single letters like "h" and "c" are best used directly in the without defining a constant for them, which takes more space than using literals.