VB Migration Partner

KNOWLEDGE BASE - Forms and controls


Previous | Index | Next 

[PRB] Closing a form causes the ObjectDisposed exception

In some rare cases, when closing or unloading a form from inside an event handler in the migrated VB.NET project – for example, the Click event of a button – you get an ObjectDisposedException error.

The reason for this behavior may vary, but in a nutshell this error depends on the fact that VB Migration Partner’s library invokes a method or a property of the control that fired the event, but the control has now been disposed of together with its parent form.

If you observe this behavior, please send us a VB6 or .NET sample that exhibits this behavior, and we will fix it as soon as possible. In the meantime, however, you can adopt the fix described below. Let’s assume that you receive an ObjectDisposed exception when returning from the following error handler:

        Private Sub Button1_Click() Handles Button1.Click
            Unload6(Me)
        End Sub     ' << you get the exception after executing this line

Here’s the fix that solves this problem:

        Private Sub Button1_Click() Handles Button1.Click
            ' invoke the ReadyToUnload method when no other handlers are running
            AddHandler Application.Idle, AddressOf ReadyToUnload
        End Sub

        Private Sub ReadyToUnload(ByVal sender As Object, ByVal e As EventArgs)
            Unload6(Me)
        End Sub
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