...
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.
...