I am using VB6 and have a form that is loaded by user action during normal programme execution.

There are several Variables (Strings) declared in the General Declaration of the form.

When the user has completed the task the form is then Unloaded. If the user then selects the option that requires this from to be Loaded again, if I check these variables at the Form.Load stage they still retain the values that were present when the form was last loaded.

I thought that memory space was released when a Form is UnLoaded and hence the values held by these variables would be erased.

I am wrong in this assumption or is there something I need to do to a) release the memory and b) erase the values held in the form. or is it c) a "feature" of working in the design environment ?

Thanking you all in advance for your help.

VB deftly handles the memory mangagement on part of the programmer, you need not worry about it. The garbage collector of VB spots the variables which have gone out of scope or are not referenced anywhere in the program and takes care of them accordingly.

And btw, as far as the variables of the form retaining their values is concerned, I guess its a Feature of working in the design environment, though I am not sure about it.