VB Migration Partner

KNOWLEDGE BASE - Forms and controls


Previous | Index | Next 

[PRB] A form behaves differently the second time it is opened

Many VB6 applications manipulate forms by means of their default instance, as in this code:

        frmPreview.Show    ' display the default instance of the frmPreview form

VB.NET supports form default instances, however converted application might not behave as expected. The first symptom of such problem is that the form works correctly the first time it is being showed, but behaves differently (or delivers wrong results) if it is re-opened.

Fixing this problem is quite simple: you just need to force VB.NET to use a new instance of the form the next time the form is displayed. You do so by setting the default instance to Nothing just before referencing it, as in:

        Set frmPreview = Nothing  ' force VB6 to use a different instance of the form
        frmPreview.Show

In the vast majority of cases, you can add the Set statement in VB6 without changing the application’s behavior. If you notice that the VB6 application is affected somehow, though, you can achieve the desired effect by means of an InsertStatement pragma:

        '## InsertStatement frmPreview = Nothing
        frmPreview.Show
Previous | Index | Next 




Follow Francesco Balena on VB6 migration’s group on

LinkedIn





Read Microsoft Corp’s official case study of a VB6 conversion using VB Migration Partner.




Code Architects and its partners offers remote and onsite migration services.

More details




Subscribe to our free newsletter for useful VB6 migration tips and techniques.

newsletter



To learn more about your VB6 applications, run VB6 Analyzer on your source code and send us the generated text file. You will receive a detailed report about your VB6 applications and how VB Migration Partner can help you to quickly and effectively migrate it to .NET.

Get free advice



A fully-working, time-limited Trial Edition of VB Migration Partner allows you to test it against your actual code

Get the Trial




The price of VB Migration Partner depends on the size of the VB6 application, the type of license, and other factors

Request a quote




Migrating a VB6 application in 10 easy steps

Comparing VB Migration Partner with Upgrade Wizard

Migration tools: Feature Comparison Table

All whitepapers