Skip to content

Blog

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:

Modernization Podcast Video Series Episode 3: Translation Myth Busters

Here is our third episode in a series of Podcast videos covering software modernization topics. This episode, Translation Myth Busters, 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.

gmStudio Release News: Sunday, 10-August-2025

Here is our second episode in a series of Podcast videos covering software modernization topics.
This episode discusses how to go about Setting Modernization Project Scope and Budget.
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 work includes changes to automatically produce a functionally correct C# translation of a three-tier enterprise application comprising 101 interrelated VBP files, referencing 1.4M total LOC in 1,566 code files, and using 29 third-party COM libraries. The distribution,Version 50.20, includes several important enhancements:

  • Adds the RuntimeLibrary feature for generating a custom support framework as an initial COM replacement. Previously, the support framework code was limited to mocking COM APIs; now it can mock .NET target APIs.
  • Adds Compile/Fix@MethodScope to allow more precise pre-editing of source prior to translation.
  • Adds a generalized high-performance transformation engine that improves performance and simplifies the specification of more complex forms of deep semantic translation.
  • Adds support for Registry@Type=Prefix to allow adding user-defined code attribute blocks before specified declarations.
  • Improves migration of TabIndex and TabStop for VB6 intrinsic controls.
  • Improves handling of currency literals.
  • Improves ASP translations.
  • Improves translation of enum expressions used as optional parameter defaults.
  • Improves Twips-to-Pixels adjustments for more complex UI layout calculations.
  • Improves indenting of code added using Fix/ReplaceFile.
  • Corrects unexpected use of null rather than DBNull.Value when comparing to Null.

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 performance and relevance of results displayed for User Settings.
  • Improves performance and relevance of results displayed for User Content Search.
  • Adds MemType and LocMemb to specify the source control in Source Scan of GUI code.

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.

  • Adds CodeStyle ClassDisposal to support calling Dispose on specified classes.
  • Adds a gmAPI implementation of the TabDlg migration.
  • Adds a gmAPI implementation of the MSComCtlLib migration.
  • Adds a gmAPI implementation of the Scripting migration.
  • Improves CodeStyle VerticalLists smart line breaker to optionally suppress line breaking on commas.
  • Improves the gmSL-to-gmAPI translator and gmSL/gmAPI unit tests.

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.

  • CodeStyle.std.xml: adds samples for VerticalLists, ClassDisposal, RemoveNameSpaces, and RemoveUserNamespaces
  • mig.vb7lang.xml: adds various language operation customizations
  • mscomctl.ocx.WinForms.Refactor.xml: updates for treeview
  • Scrrun.dll.SystemIO.Refactor.xml: updates for FileSystem.GetExtensionName
  • Tabctl32.ocx.Wrapper.Transform.gmsl: adds comments for clarity and update calling Character.Substr

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

  • Adds new classes and interfaces for improved exception handling of VB6-style exceptions.
  • Adds a new BusinessSettings class to manage application settings.
  • Adds a new framework to assist with emulating VB6’s tab key navigation.
  • Improves CheckedListBox and ComboBoxEx item selection and state management.
  • Improves the ControlHelper class with new methods for managing control properties.
  • Improves registry management, logging.

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.

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:

gmStudio Release News: Tuesday, 8-April-2025

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. Most recently, this work includes general improvements that produce more functionally correct translations of a Voter Roll Management System. This three-tier enterprise application is comprised of 101 inter-related VBP files referencing 1.4M total LOC in 1,566 code files and using 29 third-party COM libraries. In addition, important improvements were made in the ASP translation capability. The distribution,Version 50.14, has several important enhancements.

  • Improves translation of complex ASP tags having embedded conditional logic
  • Improves translation of statements that invoke event handlers
  • Improves string array declarations and initializations
  • Improves translation of OptionButton.Checked = true
  • Improves translation of OptionButton.Click event
  • Improves translation of CheckBox.Click event
  • Improves diagnostic messages when a ByRef parameter of a user-defined event migrates to ByVal
  • Improves diagnostic messages when an explicit Optional ByRef parameter migrates to ByVal
  • Improves consistency of UPGRADE_INFO messages
  • Improves consistency of using Status=“NotImplemented” rather than Status=“delete” for incompatible VB6 Control properties
  • Improves Refactor/Remove to allow also removing orphaned comments when removing a subprogram
  • Corrects system hang when an empty OldBlock is used in a Replace command

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 are continuously adding functionality to gmStudio and making it easier to use. This distribution includes several enhancements:

  • Corrects Location Name in XML Search results
  • Improves handling of Search Peek Window size
  • Add Task Comment and Description to Project Metrics report

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 add new features.

  • Improves implementation of custom CodeStyle extension

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.

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 the migration of Common Dialog to WinForms (comdlg32.ocx.Wrapper.Refactor.xml)
  • Improves migration of COM+ to System.EnterpriseServices (Comsvcs.dll.Refactor.xml)
  • Improves rules for setting the default parent class for stub controls authored in the support framework (Environment.std.xml)
  • Improves examples directing custom migration of VB6 language operations (mig.vb7lang.xml)
  • Improves migration of Windows Common Control 2 to WinForms (mscomct2.ocx.WinForms.gmsl/xml)
  • Improves migration of Windows Common Control to WinForms (mscomctl.ocx.WinForms.gmsl/xml)
  • Improves migration of MSXML2 to System.Xml (msxml6.dll.Refactor.xml)
  • Improves migration of RichTextBox to WinForms (richtx32.ocx.WinForms.Refactor.xml)
  • Improves migration of Scripting to http://System.IO (Scrrun.dll.SystemIO.Refactor.xml)
  • Improves the migration of TabDialog to WinForms (TABCTL32.OCX.Wrapper.Refactor.xml)

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

  • Improves gmRTL.Core.OrderedDictionary
  • Adds gmRTL.Core.COMPlus mock classes for running COM+ components outside of MTS
  • Adds gmRTL.Core.ErrorHandling.SimpleResumeNext
  • Adds gmRTL.Core.GLog classes for process logging
  • Adds gmRTL.Core.ArrayHelper services to allow deep initialization of stucts containing strings
  • Adds gmRTL.Core.ConversionHelper.ToVal to more closely emulate the Val function
  • Improves gmRTL.Core.InteractionHelper.Shell function
  • Adds gmRT.GUI.CheckedListBox control
  • Adds gmRT.GUI.ComboBoxEx control
  • Adds gmRT.GUI.OleControl control

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.

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:

  • By Tool or By Hand: Comparing Upgrade Methodologies
  • Custom COM Replacement
  • Setting Modernization Project Scope and Budget
  • Support Statement: Overcome the Limits of AI for Large Scale Software Modernization
  • Support Statement: Surface Pattern Syntax
  • Translation Myth Busters
  • gmStudio Command Line
  • gmStudio User Guide
  • gmplRegistryStatement
  • gmplRemoveStatement
Download: