gmStudio Release News: Tuesday, 17-Sept-2024

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 projects, we continuously improve gmBasic so it will help developers more easily produce cleaner, more correct upgrade results. This distribution,Version 50.05, has several important enhancements.

  • Improves the Translator as a Service (TaaS) capabilities enabling developers to build and integrate their own custom upgrade features

  • Adds MoveToTop migration for moving nested local variable declarations to the top of enclosing method

  • Improves logic that infers array order (i.e., 1D, 2D, etc)

  • Improves handling optional arguments for all methods in libraries having ImplicitByref=on

  • Improves SharedFiles consolidation for Forms other complex scenarios

  • Improves type inference for ControlArray elements

  • Improves FixType for variants containing ControlArrays

  • Improves support for conditional compilation

  • Improves support for GoSub

  • Improves support for Enum entries initialized with VB6 functions

  • Improves support for array declarations dimensioned with enum entries

  • Improves support for constants initialized by other constants

  • Improves support for VB6's archaic file IO formatting

  • Improves translating Redim Preserve for 2D arrays

  • Improves translating code using variables and arrays of type Byte

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:

  • Adds option to use Standard Search terms for Source Scan on the Reporting control panel

  • Adds Semantic Declarations Report to the Reports menu

  • Adds option to use a user-defined VS Solution File Generator

  • Improves VS Solution File Generator to allow more flexible format and structure of GenerateSolution.txt files

  • Improves transition to Reporting-Only mode when Trial license is not valid

  • Improves updating .NET Build status for custom tasks

  • Improves ScriptRules error reporting

gmAPI: a .NET API for Developing Advanced Upgrade Solutions

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 external migration tools with gmStudio. We maintain and improve gmAPI and related components to keep them in sync with the platform and add new features.

In this release we introduce an innovative approach for gmAPI integration. The new approach allows .NET developers to define custom features and activate them with user-defined statements in translation scripts. When detecting a user-defined statement, gmBasic will delegate processing to the designated extension DLL. Extension DLLs may use .NET code and gmAPI to automate services that access information in the semantic translation model. The user code may inspect and alter the information model, edit source and generated code, and integrate external information and processes. The new approach seamlessly extends gmBasic making it easier to use custom processing with gmStudio and it also allows much easier debugging extension code in Visual Studio.

We updated many of gmStudio's advanced features to use the new approach.

  • Shared Files Reporting and Consolidation (gmPL_gmSharedFiles.dll)

  • Custom Coding Style Transformations (gmPL_gmCodeStyle.dll).

  • VB6 to WPF Migration (gmPL_WpfSubSystem.dll)

  • Global Support Framework Generation (gmPL_gmGlobalStubs.dll).

  • Global Analysis and Reporting (gmPL_gmGlobal.dll)

  • Advanced Metrics Reporting (gmPL_Search.dll)

Advanced Metrics Reporting

The gmStudio platform includes advanced reporting services that allow you to gather extremely detailed information about your legacy system. The advance reports include Symbol Tables, Symbol References, Symbol Definitions, Model Audits, and more. We maintain and enhance these advanced reporting services to keep them in sync with the model schema and add new features. See Semantic Reports for more information.
In this release, gmMetrics.exe has been replaced by gmPL_Search.dll. gmBasic.exe automatically engages the services of gmPL_Search.dll to handle advanced reporting commands in gmPL scripts.

  • Adds the Semantic Declarations Report; currently this report provides details on Implements statements in the source code

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 rules to migrate the Windows Common Controls to WinForms controls

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 during project work. Learn more about gmRTL here.

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.

  • Updates all Samples to target VS2022 and Framework V4.8.1

  • Updates WPF Samples to use gmPL_WpfSubSystem.dll rather than gmPL_WpfSubSystem.exe

  • Updates FileExplorer sample to demonstrate additional upgrade requirements and use the latest API mapping rules

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 following "Support Statement" articles were added or updated since the last product update:

  • Adds Support Statement: Overcome the Limits of AI for Large Scale Software Modernization

  • Adds Support Statement: Partial Translations

  • Updates Support Statement: gmSL to move a variable declaration

  • Updates Support Statement: Override a routine in authortext.gmsl

  • Updates Support Statement: Stub Replacement