There is a great collection of VB applications in the world today. The great majority are not of the .NET variety....
As we speak, a great many organizations are evaluating the .NET framework and the efforts involved with moving VB6 [and earlier] applications to the new Microsoft platform. What are the benefits of moving Visual Basic 6.0 applications to Visual Basic .NET, and what leads to successful projects?
Those are the questions addressed by our latest Webcast: Upgrading Visual Basic 6.0 Applications to Visual Basic .NET and Visual Basic 2005. Our presenter on this occasion is able expert Keith Pleas of Guided Design. Listen to the webcast here.
"It's not tremendously exciting stuff and we'd all like to be able to start from scratch, but there's a huge investment in these legacy applications," said Keith Pleas, MVP architect and head of Keith Pleas & Associates. The costs of leaving a VB6 application in VB6 is simply too high, he added.
Advanced planning is important. You need to know your application deeply, and Pleas and his associates involved with the Patterns & Practices program at Microsoft can provide you the checklists you need to understand the undertaking thoroughly. Pleas recommends testing out migration methods by starting with small well-known applications, and keeping to a path of 'functional equivalence' along the way.
Some elements of a VB to .NET upgrade are straightforward. This list includes ADO to ADO via Interop data access migration, and most simple APIs, Pleas noted. Other APIs will need modification, like AsAny and AddressOf. Some traditional stalwarts of VB development need considerable re-thinking. For example, the Draw class is no longer supported with the advent of .NET.
In addition, Pleas said, upgrading .NET Framework transactions must be done manually, while items like ActiveX documents, DHTML pages and OLE controls need a bit of re-architecting before they can be upgraded.
Once you've tweaked what needs tweaking, some developers may be tempted to start up the Visual Basic Upgrade Wizard and keep hitting "next." However, several things should be done before using the Wizard, Pleas said.
For starters, verify your code. This should go without saying, but who hasn't given a project the requisite second or third look before calling it a day? If you think your code is ready, Microsoft's Code Advisor for Visual Basic 6.0 add-in will review the code for you and recommend changes if needed.
Other pre-Upgrade Wizard steps for migrating a VB 6 application include removing unused references, particularly for ActiveX controls, obtaining design time license files and gathering all referenced components, Pleas said.