gmStudio Release News: Monday, 30-May-2023

gmBasic: Upgrade Engine

gmBasic is a computer language processor that reads, interprets, and rewrites VB6/ASP/COM systems for the .NET platform (using C# or VB.NET). Based on feedback from our clients and real-world modernization project work, we continuously improve gmBasic so it will help developers more easily produce cleaner and more correct upgrade results. Most recently, this work includes general improvements needed to automatically produce a build-complete C# version of a three-tier Electoral Commission Role Management System comprised of 1.2M VB6 LOC organized into 89 VBPs using over 30 COM APIs and controls . This distribution, Version 40.49, includes enhancements; for example:

  • Improves migration of user-defined events to use sender/EventArgs conventions
  • Improves migration of multi-type code using conditional typing based on the typeof operator
  • Adds more type inference for symbols declared as Object
  • Adds Refactor/Remove for Events
  • Improves GoSub refactoring
  • Begins work on a 64bit distribution (coming soon)

gmStudio: Upgrade Solution Development Environment

Powered by gmBasic, gmStudio is a platform 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 Net Build Log Report to update last message field for each Task
  • Improve License handling when ASP LOC=0
  • Improves Specification Code Generator set UserCmds.cmd file to writable
  • Improves VisualSolution Generator to support nested folders
  • Improves parsing .NET Build Log when parallel build is in effect
  • Improves member location reported by Target Code Scan and .NET Build Log Reports (VB.NET)
  • Improves search by preventing accidentally searching for blanks

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 improvements and conventions in the gmBasic platform.

  • Improves implementation of the custom CodeStyle capability to use new XML-driven gmAPI conventions
  • Improves implementation of the WPF migration capability to use new XML-driven gmAPI 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 improve the 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.

  • Improves COM replacement rules for Scripting Runtime to System.IO
  • Improves COM replacement rules for CommonDialog to WinForms common Dialog controls
  • Improves COM replacement rules for Windows Common Controls to WinForms
  • Improves Sample rules for custom VB6 Language replacements

gmRTL: Great Migrations Runtime Library

gmRTL is a sample runtime library that contains classes allowing for more readable translations. We continuously improve this framework in the course of project work. Learn more about gmRTL here.

  • Updated to use Framework V4.7.2

Sample Upgrade Solutions

Great Migrations publishes several sample VB6/ASP upgrade solutions that illustrate the various upgrade features. The samples upgrade solutions and results were updated to reflect the latest product improvements and conventions. Learn about the Samples here.

  • Improves WPF Samples to user the new XML-Driven custom upgrade processor conventions rather than the deprecated GM Migration Utility approach.

gmStudio FAQs

Great Migrations publishes FAQ articles and other information to help teams learn and use gmStudio. You can find all of the gmStudio FAQs on the Great Migrations portal. The followiug articles were added or updated since the last product update:

  • Support Statement: Removing a container control (e.g. vsElastic )
  • Support Statement: Unused Symbol Analysis and Reporting
  • Support Statement: Improving Type Inference for MSHTML
  • Support Statement: Sample Migration of CommonDialog to Winforms