Enhancing your VB6 Application with Interop

I’ve been having a look at some of the samples on the Visual Basic Resource Center to see what’s possible when we start using interop between VB6 and .NET. Here are some of my favourites.

This article, “Sharing ADO Recordsets Between Visual Basic 6 and Visual Basic 2005”, looks at approaches to sharing data between VB6 and .NET using the Interop Forms Toolkit. It also serves as a great reminder of the fact that Recordsets can operate in a disconnected mode just like a more modern Dataset. This disconnected mode is the mechanism used to shift the Recordsets from VB6 to .NET and back again.

In the past, creating a multithreaded application in VB6 has been a bit of a challenge. Using Interop it’s now much easier to add this kind of functionality to a VB6 application. The trick here is to make use of the BackgroundWorker component (you could easily apply the same approach using any .NET component from VB6). See “Using Background Threads with Visual Basic 6”.

ClickOnce deployment offers a very clean and simple model for delivering applications to the user’s desktop. At first sight it doesn’t look as if it would be possible to use ClickOnce to deploy a VB6 application because of all registration issues, but this blog post here by Beth shows you how you can make it work.