gmStudio Release News: Wednesday, 11-November-2020
gmBasic: Upgrade Engine
gmBasic is a code transformation tool that reads, interprets, and rewrites VB6/ASP/COM systems to one of the .NET languages (C# or VB.NET). Based on feedback from our clients and migration projects in the field, we are continuously improving gmBasic so as to help users more easily produce cleaner and more correct results. Most recently, this work included the general improvements needed to produce build-complete C# code for an Enterprise Purchasing and Vendor Management system. This system is a single executable: 270K LOC organized into 508+ code files and 12,300 methods supported by 34 COM libraries. This distribution, Version 31.20, includes several enhancements:
Improves migration of Optional Arguments
Improves GlobalSettings processing to merge multiple registry commands for the same Source
Improves recognition of custom designer instances (e.g. ActiveReports)
Improves handling of Twips to Pixels in VB6 statements that take coordinates notation (e.g. object.Line, object.Circle, object.PSet)
Improves BuildOrder operation so that it also reports the full list of COM References
Improves COM API handling to allow up to 600 members of a coclass
Improves SharedFiles processing to more accurately translate references to the symbols which are migrated to an external assembly
Improves translation of numeric constants to the corresponding enumeration entry
Improves automatic removal of unused library references from projects generated with BuildFile=Global
Improves translation of references to the members of a GlobalMultiuse class
Improves translation of complex IIf calls
Improves translation of late bound array assignments
Improves translation of statements using SetScale and ScaleMode methods
gmStudio: Upgrade Solution Development Environment
Powered by gmBasic, gmStudio is a development environment for analyzing code and developing custom VB6/ASP/COM to .NET upgrade solutions. We are continuously adding functionality to gmStudio and making it easier to use. This distribution includes several enhancements:
Improves support for migration project tasks controlled by a custom executable rather than a gmPL script
Adds support for Ctrl-C copy to clipboard from custom report results listing
Improves Color Coding Task List Fields (display ~INC in warning color)
Corrects task filtering during gmStudio batch processing
Adds TScript field as a script parameter placeholder
Improves References Report to show the referencing method for property references
Improves VBI Audit to display information stored for Registry commands
Improves VBI Audit to display information in GlobalSettings files
Improves .NET Build Log Reporting for custom build logs
Adds automatic splitter panel layout: snap to fit list of items
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest product improvements and conventions.
Improves error handling and logging in the Analytics Reports
Improves References Reporting services to show the referencing method for property references
Improves VBI Audit to display information stored for Registry commands
Improves VBI Audit to display information in GlobalSettings files
Adds support for printing name of Target type using the Symbol.DisplayInfo API
Adds a gmAPI-Based SharedFiles analysis and reporting sample
Improves the gmAPI-based WPF translation sample
Sample Upgrade Rules
gmStudio ships with a collection of sample upgrade rules that can be used to add custom features to your upgrade solution. These XML documents and gmSL scripts are distributed as source that you may modify to fit your unique requirements. The sample rules were updated to reflect the latest product improvements and conventions. See also additions and changes in gmStudio Extensions Repository.
Improves Global Stubs Framework generation script
Adds cscalbtn.WinForms.Refactor.xml
Adds msado15.DataLib.Refactor.xml
Adds mscomct2.WinForms.gmsl
Adds mscomctl.MigCode.gmsl
Adds mscomctl.ServiceMethods.gmsl
Adds mscomctl.Transform.gmsl
Adds mscomctl.WinForms.Refactor.xml
Adds mshflxgd.LiteWrapper.Refactor.xml
Adds msrdo20.DataLib.Refactor.xml
Adds pvtreex.Wrapper.Refactor.xml
Improves GRID32.WinForms.Refactor.xml
Improves mig.vb7lang.xml
Improves migListControls.gmsl
Improves mscomct2.Winforms.Refactor.xml
Improves msdatgrd.DataGridView.Refactor.xml
Improves mshflxgd.Wrapper.Refactor.xml
Improves msscript.ClearScript.Refactor.xml
Improves richtx32.WinForms.Refactor.xml
Improves shdocvw.WinForms.Refactor.xml
Improves Tabctl32.Transform.gmsl
Improves THREED32.WinForms.Refactor.xml
Improves vbscript_3.SystemText.Refactor.xml
Improves vsflex2.WinForms.Refactor.xml
Sample Upgrade Solutions
Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions and results were updated to reflect the latest product improvements and conventions.
Improves Waves sample to reflect changes in Twips to Pixels in VB6 Coordinate statements
Improves ScanTool sample to use RefactorLibrary files rather than custom IDF for COM upgrades
Improves menu handling in WPF ScanTool sample