VBUC 9.4 released
by John Browne, on Nov 30, 2022 5:00:00 AM
April is the cruellest month but November is the wettest, at least here in the Pacific Northwest, so this long weekend following the annual American orgy of eating and shopping I'm staying indoors checking out the lastest release of the Visual Basic Upgrade Companion.
Aside from April, it's cruel that components of different versions can share the same GUID and up to now that could create a bit of confusion when migrating VB6 solutions with multiple projects containing different versions of the same reference. With version 9.4 of the VBUC, you can now have different versions of the same reference included in your migration project; the correct interop is generated by the tool for each VB6 project.
There's always a healthy debate when modernizing applications as to whether you should be faithful to the way the legacy applications looks and feels or default to whatever the target platform does. Fonts have been on that debate stage for a long time; font properties on controls are inherited differently in VB6 and .NET and up to now we have allowed .NET to win out. Now in 9.4 controls without an explicit font property will inherit from their container, not from the parent class as is how .NET does it. This maintains the same look and feel of the VB6 application which, of course, you can easily change once migrated to .NET. Again, we try not to break stuff.
If you happen to open an older VBUC project with version 9.4, you'll now get a warning that the upgrade solution format has changed. You can choose to create a new solution or press ahead with the old one, but some references in the old solution file might not resolve correctly with the current version.
Other improvements are in helper files, overall coverage of 3rd party components, and handling shared files. Release notes are here.
Your VB6 code may now after all these years be as inscrutable as T.S. Elliot's masterpiece and while the VBUC can't unravel all the meaning at least it can turn it into something a little more contemporary for you to begin with. Will it still be around in 100 years?
Let's hope not.