gmStudio Release News: Thursday, 27-February-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 a 1.8M LOC electonic medical records application and improvements for the migration of error handling . This distribution, Version 31.04, includes several enhancements:
Improves the error handling migration of methods that used On Error GoTo, GoTo, and Resume, etc. to methods that use try-catch
Improves resolving ambiguity due to a const/class naming clash
Improves support for array arguments to event handlers
Improves support for enum properties assigned to an undefined numeric quanity in the VB6 designer code
Improves support for stubbed Color properties
Improves support for stubbed IntPtr properties
Improves support for cases of weakly typed symbols being used in index expressions
Improves support for new operations on classes also used as implemented interface
Improves support for COM classes that have names clashes in their interfaces
Improves support for references to COM constants
Improves support for optional parameters to reference type with a default of 0
Improves support for IIf used with reference types
Improves support for recursive interface methods
Improves support for methods declared with UserControl parameters
Improves support for COM event handlers that return a non-void type (C#)
Improves support for recognizing references to COM indexers
Corrects an issue with the GenericCollections upgrade
Corrects an issue with complex conditional expressions of functions with enumeration parameters
Improves the CodeStyle Feature adding support for limiting consecutive blank lines in generated code
Improves support for recognizing members of derived class overriding members of base class
Improves migration of Const symbols to static readonly symbols when required
Improves handling of statement separators in Select-Case statements
Improves handling parameterized properties
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:
Adds support for VS2019 integration
Adds open with command prompt from gmStudio View Menu when using Control-Click
Adds ScriptRule activity reporting to Translation Log
Improves Peek Reporting mode to display variable lines above/below matching record
Improves Batch Control form to allow setting session log listing max lines
Improves RESX Folder conventions to use SrcName rather than MigName-SrcName
Improves Migration Project Name validation
Adds support for viewing scripts separate from logs in the information panel
gmslAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmslAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmslAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest product improvements and conventions.
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 Tab Control Migration to preserve zOrder of contained controls
Improves Tab Control Migration to set SizeMode to account base on Style if needed
Adds sample for vsFlexLib.vsFlexArray migration to WinForms.DataGridView
Sample Upgrade Solutions
Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions were updated to reflect the latest product improvements and conventions.
Adds a new Sample, VBScan, a VB6 parser/reporter that also illustrates upgrading the Microsoft Outline Control to WinForms Treeview-derived control
Updates all Samples to target Visual Studio 2017 by default