gmStudio Release News: Wednesday, 01-Dec-2021

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 a number of improvements providing special features that are helpful for real-world system modernization projects. This distribution, Version 40.18, includes several enhancements:

  • Completes the transition to gmRTL conventions for the runtime support framework
  • Adds support for migrating project metadata from VBPs (Title, Description, etc.) to attributes in AssemblyInfo files
  • Adds support for property status="Out+static" to author static readonly properties
  • Adds support for PreEdit_VBS and PostEdit_VBS operations for translations requiring the VBScript to JavaScript feature
  • Adds support for triggering a using/Imports statement for namespaces containing extension methods
  • Improves migration of Mid function when used on Left-Hand side of an assignment
  • Improves migration of CheckBoxConstants Enumeration
  • Improves migration of PropertyBag.Contents property
  • Improves migration of code using ActiveControl property
  • Improves migration of optional arguments with DeleteSetting function
  • Improves migration of optional arguments with Format function
  • Improves migration of properties having both Let and Set routines
  • Improves migration of large JPG images from FRX files to RESX files
  • Improves migration of same-named #includes and Pages in a folder
  • Improves migration of functions using GoSub statements
  • Improves migration of On Error Goto to try/catch
  • Improves migration of VB.Shape operations to use a gmRTL.GUI.ShapeControl class
  • Improves migration of VB.App operations to use gmRTL.Core.App class
  • Improves migration of comments longer than 512 characters

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 Side-By-Side Viewer when migrating ASP with client-side VBScript to ASP with client-side JavaScript
  • Adds feature to AutoSelect the Standard Assessment reports at the click of a button
  • Adds gmSharedFile.exe to the installation allowing the new approach to shared files consolidation
  • Improves ScriptRule transformation and logging conventions
  • Improves documentation and usage of the ScriptRule/Foreach feature
  • Corrects the Search/Replace feature to allow successive runs without content duplication

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.

  • Adds properties to the Project class allowing access to VBP metadata (Title, Description, etc.)

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.

  • Upgrades the gmStudio Extension files to use gmRTL conventions

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.

  • Completes the transition to gmRTL conventions for runtime support framework
  • Adds a gmRTL.GUI.ShapeControl control class to emulate VB.Shape
  • Adds a gmRTL.Core.App class to emulate VB.App

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.

  • Updates all samples to work with latest conventions and the gmRTL runtime support assembly