gmStudio Release News: Saturday, 05-March-2022

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 includes general improvements needed to produce build-complete C# code for a Construction ERP product. This system is 31 inter-related VB6 project components containing 820K LOC organized into 1,125 code files and supported by 46 external COM libraries. This distribution, Version 40.25, includes several enhancements:

  • Improves handling the default member operator, '!'
  • Improves handling inferring implicit references to default members
  • Improves handling of logic using ControlArrays
  • Improves handling recognizing references to unqualified global enumeration entries
  • Improves handling numeric literals using exponential notation
  • Improves handling of numeric values using hexadecimal notation in IDL to IDF
  • Improves parsing ASP attribute values containing complex VBScript logic
  • Improves migration of a local method to a custom call pattern
  • Improves migration of VBP information to AssemblyInfo content

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 logic that maintains the Workspace runtime folder
  • Improves performance of .NET Build Log Report and the associated listing in the UI
  • Improves IDL/IDF handling of const = Infinity
  • Improves spawning a process without console logging
  • Improves ScriptRule command to allow script variables in the id attribute

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.

gmMetrics: Advanced Metrics Reporting tool

gmMetrics is a tool for reporting the content of system models generated by gmBasic. This includes Symbol Tables, References Reports, Definitions Reports, and Model Audits. gmMetrics is a console application written in C# using gmAPI. We maintain and enhance gmMetrics to keep it in sync with the model schema and to produce new reports.

gmStudio Extensions

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.

  • Adds MSCAL.ocx.WinForms.Refactor.xml
  • Improves GM.MSCAL.OCX.xml
  • Improves mscomctl.ocx.WinForms.Transform.gmsl
  • Improves scrrun.dll.Transform.gmsl
  • Improves StubControlBaseClass.Rules.xml
  • Improves StubControlBaseClass.xml
  • Improves wpfSubsystem.gmsl

gmRTL: Great Migrations Run Time Library

gmRTL is a sample runtime library that contains classes allowing for more readable translations. gmRTL namespace and class structure conventions will replace the legacy RTL conventions in the next gmStudio release. The old conventions (MigrationSupport, MigrationSupportUI, etc.) will be deprecated, but still available as custom migration options. Learn more about gmRTL here.

  • Improves gmRTL.GUI.ControlHelper.GetDrawStyle/SetDrawStyle.style

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. Learn about the samples here.