Skip to content

gmStudio Release News: Wednesday, 03-December-2025

Here is our third episode in a series of Podcast videos covering software modernization topics. This episode, Translation Mythbusters, takes on the question: should we Convert or Rewrite and challenges common misconceptions about the role and value of using legacy code and translation tools as part of a modernization strategy. Watch and listen here.

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 to help developers produce cleaner, more correct results and to successfully manage and complete large-scale upgrade projects. Most recently, this includes enhancements relating to the work of upgrading a large VB6/ASP/COM/.NET payment processing application comprising 700 active pages backed by a 50K LOC VB6 service component library. The distribution, Version 50.27, includes several other important additions and improvements:

  • Adds support for recognizing and translating symbols declared in server-side Javascript (JScript) in ASP to C# or VB.NET
  • Adds a new FindDynamics command that may be used to assist with migrating late-bound object.member references to custom interfaces rather than using dynamic casts
  • Improves Form migrations so that DefInstance support is authored only for forms, MDI forms, and other Designer-based types that need it
  • Adds Migrate DefInstance=on|off to allow explicitly adding DefInstance support for a form when the requirement is not automatically detected
  • Improves migration of complex error handling/goto sequences to try-catch
  • Improves detecting the need to retain weak typing for variant when a variant parameter is assigned to an enum
  • Improves handling statements that invoke a default member in an object instantiation statement (e.g., Set obj = (new Class)(args))
  • Improves migration of Array function to string[] when the arguments to Array are a mixed set of types
  • Improves the migration of VB6 Line control to gmRTL.GUI.LineControl
  • Improves migration of string variable assigned to a void method
  • Improves translation of huge numeric literals (longlong quantities)
  • Improves translating VBScript With blocks in ASP code
  • Improves translating ASP sites having multiple same-named VBScript classes
  • Improves migration of conditional expressions comparing variant to empty string
  • Improves handling files with UTF-8 encoding and BOM
  • Improves logic to automatically increase code storage space when needed
  • Improves migration of ZOrder statements
  • Improves migration of complex conditionals involving integers and relational operations
  • Improves handling foreign class references
  • Improves support for Response.LCID in ASP translations
  • Improves authoring COM interface descriptions for read-only properties
  • Improves migration of intrinsic controls so that the property defaults more closely follow VS designer conventions

gmStudio: Upgrade Solution Development Environment

Section titled “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 continuously add functionality to gmStudio and make it easier to use. This distribution includes several enhancements:

  • Improves Validate Source operation to allow for upgrade tasks with no translation script

gmAPI: A .NET API for Developing Advanced Upgrade Solutions

Section titled “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 to add new features. gmAPI is central to our platform and gmAPI dlls are used to implement several advanced features: analytics reports, shared files consolidation, custom coding style, support framework generation, migration to WPF, and more.

The gmStudio platform includes advanced reporting services that allow you to gather extremely detailed information about your legacy system. The advanced reports include Symbol Tables, Symbol References, Symbol Definitions, Model Audits, and more. We maintain and enhance these reporting services to keep them in sync with the model schema and to add new features. See Semantic Reports for more information.

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 code that you may modify to fit your unique requirements. The sample rules have been updated to reflect the latest product improvements and conventions. See also additions and changes in the gmStudio Extensions Repository.

  • Tabctl32.ocx.Wrapper.Transform.gmsl: Updated TabControl migration to be compatible with LineControl migration

gmRTL is a sample runtime library that contains classes allowing for more maintainable translations. We continuously improve this framework through real-world project work. Learn more about gmRTL here.

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

  • Improves FMStocks samples to demonstrate just-in-time GlobalSettings integration

Great Migrations publishes FAQ articles and other information to help teams learn and use gmStudio. The following articles were added or updated since the last product update: