Quote Originally Posted by Eduardo- View Post
Some suggest to never use the "original" form (like Form2) and always use a new one by declaring variables and instancing the forms explicitly... other suggest to always set the forms to nothing when closed... they could be good advices, but if one understands how these objects work, you can use the "auto-declared" form instancing if you want and you could want to keep some variables in the form[class] and not to set it to Nothing as long as you know what you are doing.
Always use separate new form instances. Global Form1 predeclared instances are a left-over from MS Access times, where you can write a query w/ something like WHERE MyColumn = Form1!MyTextBox which is awful on so many levels.

When you use Dim f As Form1 : Set f = New Form1 : f.Mostrar it's not possible to set f variable to Nothing in Form_Unload, can you? Just don't use global predeclared instances so that you never have to set the global Form1 references to Nothing too.

I cannot think of *any* modern language (not just .Net ones) that promotes global state so blatantly as global predeclared form instances as implemented in VB6. And those predeclared classes are next to eradicate, just don't :-))

cheers,
</wqw>