Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

gmBasic is a computer language processor that reads, interprets, and rewrites VB6/ASP/COM systems for the .NET platform (using C# or http://VB.NET ). Based on feedback from our clients and real-world modernization projects, we continuously improve gmBasic so it will help developers more easily produce cleaner, more correct upgrade results. Most recently, this work includes general improvements needed to automatically produce a build-complete C# version of an enterprise-level financial management system for security and alarm companies. This large desktop application is comprised of 185 inter-related VBP files referencing 1.2M total LOC in 2,696 code files (including 682 ActiveReports Designers) and using 72 third-party COM libraries. The distribution,Version 50.10, has several important enhancements.

  • Adds Registry type=BaseType to alter how VB6 intrinsic types are recognized

  • Adds Registry type=LibType to facilitate migrating a COM API types are recognized

  • Improves migration of custom designer files (*.dsr) such as ActiveReports

  • Improves recognizing the type of ControlArray elements

  • Improves indenting of translations modified by Fix@FileFilter

  • Improves the migration of App object operations and the App type

  • Improved consistency of the inferred array parameters and corresponding arguments

  • Improves handling string literals containing control characters

  • Improves resolution of late-bound object/default property references

  • Improves relational operations between Twips and strings

  • Improves handling ListBox.Item and ComboBox.ItemData

  • Improves migrating vbEmpty to null

  • Improves migrating assignments of a class instance to an implemented interface

  • Improves Refactor/Rename to allow renaming a VBP's internal name

  • Improves recognition of classes requiring IEnumerable support

  • Improves logic to provide an enum entry from a quantity that may be null

  • Improves Generic Collections to make adjustment for zero-based indexing when index quantity is a enum

  • Improves behavior of Fix/Replace with MatchBlock=on

  • Improves conventions for Array initialization and assignments

  • Improves OutputPath conventions in .NET project template

  • Improves DefineConstants conventions in .NET project template

  • Improves ByRef optimizations for array parameters

  • Improves migration of foreach with ControlArrays

  • Improves type inference to retain weak typing when variable is used with an IsNull operation

  • Improves handling of status="delete" to suppress unwanted operations from the translations.

...