Visual Basic Upgrade Companion (VBUC) 8.0

Visual Basic Upgrade Companion (VBUC) 8.0
Includes improvements to performance, code generation and coverage.

News

Feature Release

November 20, 2017 - 12:22
Visual Basic Upgrade Companion (VBUC) 8.0
Visual Basic Upgrade Companion

Performance

  • Includes a new memory model that can handle extremely large applications better.
  • Substantial performance improvements (10x) are now possible by converting multi-project solutions in parallel - up to 12 projects simultaneously with 8 cores and 32GB of RAM.

Code Generation

  • Shared files bridge: In VB6 you can have a shared file with a declaration for Foo…then in different implementations Foo can be a method or a property, ie:


    Module1.Foo() ‘in this module Foo is a method
    Module2.Globals.Foo ‘In this module Foo is a property

    This caused .NET code generation to be clumsy. In VBUC 8.0, Mobilize.Net now create a “shared files bridge” class so the reference is converted to SharedFilesBridge.Foo and each module gets its own implementation of Foo. Resulting code is:

    Project1: return Module1.Foo()
    Project2: return Globals.Foo

  • Drag and drop: Some VB6 controls support drag and drop functionality. This code will now successfully migrate to .NET to both activate the behavior in the controls and create the event handlers in .NET.
  • ByRef parameters: Improved code generation by recognizing when parameters can be safely passed as values, creating more readable code.
  • In VB6 MousePointer types were an enum, while in .NET they are Cursor class instances. These are now converted correctly to prevent compiler errors, while preserving intended behavior.
  • Event renaming: The VBUC now applies the necessary transformation to event handler method names so that they are generated in a consistent way, preventing lots of compilation errors.

Coverage

  • New library mappings: The following libraries are now supported to convert to similar .Net libraries: ActiveBar, ActiveInput, ActiveScroll, PvColorComboBox, PvExplorerLib, SQLDMO, StdPicker, TDBCombo, TLI.
  • Improved mappings: The following existing library mappings have been improved to reduce compilation errors and enhance automation on conversion to equivalent .NET libraries: VB6 default libraries, Accusoft, CWGraph, CrViewer, FPSpread, MDIExtenderLib, MSComCtlLib, MSDataGridLib, MSFlexGrid, MSXML, SSActiveTreeView, SSActiveTabs, SSCalendarWidgets, SSDataWidgets, Threed, and more.
  • Data Access helpers: Several behaviors have been improved in the DataAccess helpers to fix behavior differences, in areas such as: Data controls enhanced bindings, better schema loading and usage, filter behaviors, "FindNext" support, "MovePrevious" support, "AbsolutePage" and "AbsolutePosition" support, SQLTransactions improved, Timeout in commands and connections, DAO Clone support, Firing missing events, other big fixes.
  • Reflection helper: some bugs were fixed in this helper class.
Classification: