Set Forms to Nothing with Caution

Set Forms to Nothing with Caution

It’s a good idea to set your form variables to Nothing to recoverall memory that was allocated for the form module. Executing SetForm1 = Nothing for a loaded form, however, will have no apparenteffect, but will leave the form module in a confused state. Youcan demonstrate this by executing:

 Form2.ShowSet Form2 = NothingForm2.ShowMsgbox Forms.Count & " loaded forms"Unload Form2Unload Form2

The second line of this code seems to do nothing, but the seconduse of Form2’s Show method will in fact load and display a secondinstance of Form2. The forms collection will know about both instances,but only one of them will be unloaded with the Unload statement.

To avoid these problems, always be sure a form is unloaded beforesetting it to Nothing. While you cannot execute Set Me = Nothing,you can achieve the same effect in a form’s Unload event:

 Form_Unload (Cancel As Integer)        Dim Form As Form        For Each Form In Forms                If Form Is Me Then                        Set Form = Nothing                        Exit For                End If        Next FormEnd Sub
See also  How AI Art Generators Can Save Time and Money for Startups

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist