Skip to content

Blog

gmStudio Release News: Wednesday, 01-Dec-2021

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

Section titled “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

Section titled “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

Section titled “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 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 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

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

gmStudio Release News: Monday, 04-October-2021

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.14, includes several enhancements:

  • Improves the stub framework generation feature improving its speed, precision, and flexibility and setting the stage for stubbing out a better organized runtime library framework (gmRTL)
  • Improves support for generating and using a stub framework that uses extension methods in multiple namespaces
  • Improves ASP processing to allow up to 128 #include directives in a single page
  • Improves Select-Case migration to allow up to 2048 Case branches
  • Improves behavior of ComputeConditional=Clean to completely remove inactive code from generated results
  • Improves handling and capacity of local code storage (i.e., the number of operations in a single subroutine or ASP page is limited only by available memory)
  • Improves support for rewriting client-side VBScript to JavaScript in ASP to ASP.NET translations
  • Corrects name collisions in ASP translations for sites having same-named files (e.g. file.asp and file.inc in the same folder)

gmStudio: Upgrade Solution Development Environment

Section titled “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 WorkFolder Script Variable (e.g., …\proj\log)
  • Adds logic to automatically create and use a project-specific UserCmd.cmd file if one is not present when the user tries to edit the file
  • Adds logic to automatically create and use a project specific Search Terms-List/Report-Template file when the user tries to edit the file
  • Adds support for displaying corresponding VBScript (*.vbs) source and JavaScript (*.jvs) translations in the SideBySide viewer
  • Adds support for reporting pre-processed code to a different folder (AuditSource Utility Report)
  • Adds support for restricting gmMetrics Report to the WebProjectFile when reporting an ASP site translation
  • Adds support for setting the Encoding/CharacterSet used by gmStudio
  • Adds the option to display a comparison of System Default and Project-Specific folders
  • Improves readability of Translation Log Report
  • Improves default Visual Studio IDE to use VS2019
  • Improves error checking and reporting for deployment operations
  • Improves license management when operating in Reporting-Only mode
  • Improves the Custom Search folder picker to allow selecting any file path
  • Improves usability of the License Request form
  • Improves usability of the New Project Wizard Options form
  • Improves usability of the User Defaults form (auto set Goto Command Line when selected editor is Notepad++)
  • Improves site script created by the Project Wizard for an ASP upgrade project
  • Corrects problem with SaveAs not opening the newly saved project file

gmAPI: a .NET API for Developing Advanced Upgrade Solutions

Section titled “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 the SupportLibraries field to the FileInfo structure indicating the list of SupportLibraries required to support extension methods in that file
  • Improves support for using a custom metalanguage vb7lang.vbi during gmAPI startup
  • Improves the WPFSubSystem utility to allow migrating to gmRTL

gmMetrics: Advanced Metrics Reporting tool

Section titled “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. This distribution includes several enhancements:

  • Adds the AuditSource Utility Report to generate a Pre-Processed version of source codes; e.g., a pre-edited code, or a non-conditional code from a conditional code
  • Improves the Model Audits to report the SupportLibraries field for each file indicating the list of SupportLibraries needed for the extension methods in that file

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 documentation in sample GlobalIncludes.xml script

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.

  • Adds gmRTL.Core to standard distribution

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.

gmStudio Release News: Tuesday, 06-July-2021

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 the general improvements needed to produce build-complete C# code for a Courier Management System. This application includes 5 VB6 Dlls coded as 300K LOC of VB6 and over 150 ASP pages containing 40K LOC or markup and over 100K LOC of client-side VBScript. This distribution, Version 40.09, includes several enhancements:

  • Improves support for rewriting client-side VBScript to JavaScript in ASP to ASP.NET translations
  • Improves support for rewriting stand-alone VBScript files as JavaScript files with the VBSTranslate command
  • Improves GenericCollections feature
  • Improves support for migrating Scripting.Dictionary in ASP codes
  • Improves performance of translation process (larger systems complete up to 20% faster)
  • Improves COM interface description files containing classes named ”…Events”
  • Improves stub framework methods to throw NotImplemented exception
  • Improves processing Print statement with international characters
  • Continues work to allow more organization of runtime support framework

gmStudio: Upgrade Solution Development Environment

Section titled “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 file name filter when viewing configuration files
  • Adds means of toggling the Ignore Task Filter from the ToolBar
  • Adds support for Create Specification Codes for ASP Upgrade projects
  • Adds Refresh content operation in the Side-by-Side Viewer
  • Adds Edit file operation in the Side-by-Side Viewer
  • Adds support for reporting client-side VBScript LOC in the Source Structure Report for ASP pages
  • Adds support for running a custom tool by specifying script/TOOL:toolpath in a tasks TScript field
  • Adds ability to prune tasks from a gmProj if not found in a list of tasks to keep
  • Improves default template translation scripts
  • Improves User Command batch command line integration
  • Improves UI feedback when Rebuilding the Metalang file
  • Improves Reference Parser to handle non-standard Object= statements
  • Improves accuracy error member reported in .NET Build Log Report
  • Improves consistency of reported time stamps; all reports to use 24h format

gmAPI: a .NET API for Developing Advanced Upgrade Solutions

Section titled “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.

  • Improves support for using a custom metalanguage vb7lang.vbi during gmAPI startup
  • Updates the ASP GlobalIncludes sample script to use the gmGlobalIncludes migration utility

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 sample UserCmd.cmd file to illustrate translation change reporting

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.

  • Improves sample batch processing scripts
  • Updates the ASP GlobalIncludes sample script to use the gmGlobalIncludes migration utility

gmStudio Release News: Tuesday, 11-May-2021

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 the general improvements needed to produce build-complete C# code for a Metal Plating ERP system. This system is a single executable: 280K LOC organized into 135 code files supported by 28 COM libraries. This release also includes significant improvements to ASP processing. This distribution, Version 40.05, includes several enhancements:

  • Adds support for using OEM or ANSI File API to support international codepages
  • Adds support for user-defined NoWarn settings, Registry type=“ProjectSetting” source=“NoWarn”
  • Improves arrays declared with const dimensions
  • Improves ToolTip operations performed outside of declaring form
  • Improves integer to datetime conversion done in designer code
  • Improves late-bound ControlArray.LBound and ControlArray.Count
  • Improves comment-only VBScript tags in ASP
  • Improves handling same-named include files in ASP
  • Improves AfterBuild setting for ASP

gmStudio: Upgrade Solution Development Environment

Section titled “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 setting the OEM/ANSI File API used by gmBasic
  • Adds support for setting the character encoding (using chcp) used when running batch tasks
  • Improves Solution Generator to use Platform=AnyCPU
  • Improves handling of file IO standardizing on UTF-8
  • Corrects exception when applying task filter to large projects (e.g. 5000+ ASP pages)

gmAPI: a .NET API for Developing Advanced Upgrade Solutions

Section titled “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.

  • Improves support for using a custom metalanguage vb7lang.vbi during gmAPI startup

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 Batch Command script for ASP deployments in sample userCmd.std.cmd
  • Improves preset for Translation Audit in sample CodeScanList.txt
  • Improves rules for ADODB migration

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 latest samples here

gmStudio Release News: Tuesday, 23-March-2021

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 changes how the tool is extended to perform advanced upgrade analysis and transformation. This distribution, Version 40.03, includes several enhancements:

  • Improves gmSL, gmAPI, and Migration Utility frameworks for integrating custom migration and reporting rules with the Upgrade Engine. Our scripting language (gmSL) and C#-based API (gmAPI) were extended to enable a new programming model: Migration Utilities. These technologies allow “deep” code analysis and refactoring and simpler integration with gmStudio and debugging with Visual Studio. Some of these deep migration features were implemented using the C-based gmNI (GM Native Interface) programming model. gmNI was an internal-use-only technology. gmNI has been replaced by C#/gmAPI solutions that may be modified by upgrade teams as needed.
  • Several Migration Utilities, implemented in gmAPI/C#, are now part of the standard distribution:
    • gmCodeStyle.exe implements the custom coding style transformations
    • gmSharedFile.exe implements the shared file analysis and reporting that enables shared file consolidation
    • gmGlobalIncludes.exe implements the global analysis of #include files in an ASP and directs migrating web sites with complex #include file dependencies
    • gmWPFSubsystem.exe implements the migration of VB6 Forms layout and logic to XAML and WPF APIs

gmStudio: Upgrade Solution Development Environment

Section titled “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 invoking Migration Utilities during Translation Script processing
  • Adds support for User-Command-Only tasks in a migration project simplifying the use of external tools during batch processing
  • Improves performance of COM reference analysis when setting up an ASP site, particularly in the New Project Wizard
  • Improves progress and error reporting in the UI
  • Improves handling duplicate file names in an ASP site

gmAPI: a .NET API for Developing Advanced Upgrade Solutions

Section titled “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.

  • Various improvements to gmAPI allowing Migration Utility approach to building gmBasic extensions
  • Various improvements to gmSL to make it more interchangeable with gmAPI

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.

  • Simplifies the gmSL scripts implementing the deep migrations for Windows Common Controls (MSCOMCTL) to WinForms

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.

  • Improves the WPFCalculator sample to use gmWPFSubsystem Migration Utility
  • Improves the WPFScanTool sample to use gmWPFSubsystem Migration Utility
Download: