Skip to content

Blog

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, 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

gmStudio Release News: Tuesday, 09-February-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 included the general improvements needed to produce build-complete C# code for an Manufacturing Reporting System. This system is an ASP web site organized in 123 web page files that reference 26 #include files. The site also depends on 8 COM libraries. This distribution, Version 31.25, includes several enhancements:

  • Adds support for using BuildFile=global in ASP translations
  • Adds Migration Utility extension framework for developing custom migration rules in C# and integrating them with the Upgrade Engine
  • Improves gmSL and gmAPI API features and functions
  • Improves handling ExitDo and ExitFor particularly when occurring in a Select-Case
  • Improves handling the intrinsic Array function in a file having Option Base 1
  • Improves handling Arrays dimensioned with a forward-reference to const
  • Improves handling vbNullString
  • Improves support for migrating VBScript Intrinsic Functions in ASP translations
  • Improves support for migrating Cookies collections in ASP translations
  • Improves support for migrating ScaleMode-related GUI Properties
  • Improves CodeStyle feature by implementation using gmAPI
  • Improves Client-Side VBScript to JavaScript translation in ASP translations
  • Improves migration of variables declared with WithEvents
  • Improves metalanguage file handling to allow finding a file by standard path resolution as well as metalanguage folder resolution
  • Improves specification of ASPNET_Compiler build for ASP translations

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 option to search the analyzed model audit report
  • Adds option to report for multiple Search Reporting modes simultaneously
  • Improves logic to identify Server-Side code blocks in ASP metrics analysis
  • Improves date formatting to be standard across all reports
  • Improves member location in the Target Code Search Report (C# only)
  • Improves installer to allow launching gmStudio after install

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 Migration Utility approach to building gmBasic extensions
  • Improves gmBasic.Terminate to ensure all information manager storage areas are closed

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.

  • Adds and updates extensions following the recommended file naming conventions
  • Adds msscript.ocx.ClearScript.Refactor.xml
  • Adds over 65 extension rule files installed with the product
  • Improves WPFSubsystem.gmsl to handle nested menus better

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 all Samples to target Visual Studio 2019
  • Improves ScanTool Sample to be compatible with Windows10 (msxml6.dll changes)
  • Improves vb3DDefine Sample to use latest version of ClearScript API
  • Improves sample runtime support library to include a Shape control
  • Improves sample runtime support library to include a Line control

gmStudio Release News: Wednesday, 11-November-2020

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 included the general improvements needed to produce build-complete C# code for an Enterprise Purchasing and Vendor Management system. This system is a single executable: 270K LOC organized into 508+ code files and 12,300 methods supported by 34 COM libraries. This distribution, Version 31.20, includes several enhancements:

  • Improves migration of Optional Arguments
  • Improves GlobalSettings processing to merge multiple registry commands for the same Source
  • Improves recognition of custom designer instances (e.g. ActiveReports)
  • Improves handling of Twips to Pixels in VB6 statements that take coordinates notation (e.g. object.Line, object.Circle, object.PSet)
  • Improves BuildOrder operation so that it also reports the full list of COM References
  • Improves COM API handling to allow up to 600 members of a coclass
  • Improves SharedFiles processing to more accurately translate references to the symbols which are migrated to an external assembly
  • Improves translation of numeric constants to the corresponding enumeration entry
  • Improves automatic removal of unused library references from projects generated with BuildFile=Global
  • Improves translation of references to the members of a GlobalMultiuse class
  • Improves translation of complex IIf calls
  • Improves translation of late bound array assignments
  • Improves translation of statements using SetScale and ScaleMode methods

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:

  • Improves support for migration project tasks controlled by a custom executable rather than a gmPL script
  • Adds support for Ctrl-C copy to clipboard from custom report results listing
  • Improves Color Coding Task List Fields (display ~INC in warning color)
  • Corrects task filtering during gmStudio batch processing
  • Adds TScript field as a script parameter placeholder
  • Improves References Report to show the referencing method for property references
  • Improves VBI Audit to display information stored for Registry commands
  • Improves VBI Audit to display information in GlobalSettings files
  • Improves .NET Build Log Reporting for custom build logs
  • Adds automatic splitter panel layout: snap to fit list of items

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 error handling and logging in the Analytics Reports
  • Improves References Reporting services to show the referencing method for property references
  • Improves VBI Audit to display information stored for Registry commands
  • Improves VBI Audit to display information in GlobalSettings files
  • Adds support for printing name of Target type using the Symbol.DisplayInfo API
  • Adds a gmAPI-Based SharedFiles analysis and reporting sample
  • Improves the gmAPI-based WPF translation sample

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 Global Stubs Framework generation script
  • Adds cscalbtn.WinForms.Refactor.xml
  • Adds msado15.DataLib.Refactor.xml
  • Adds mscomct2.WinForms.gmsl
  • Adds mscomctl.MigCode.gmsl
  • Adds mscomctl.ServiceMethods.gmsl
  • Adds mscomctl.Transform.gmsl
  • Adds mscomctl.WinForms.Refactor.xml
  • Adds mshflxgd.LiteWrapper.Refactor.xml
  • Adds msrdo20.DataLib.Refactor.xml
  • Adds pvtreex.Wrapper.Refactor.xml
  • Improves GRID32.WinForms.Refactor.xml
  • Improves mig.vb7lang.xml
  • Improves migListControls.gmsl
  • Improves mscomct2.Winforms.Refactor.xml
  • Improves msdatgrd.DataGridView.Refactor.xml
  • Improves mshflxgd.Wrapper.Refactor.xml
  • Improves msscript.ClearScript.Refactor.xml
  • Improves richtx32.WinForms.Refactor.xml
  • Improves shdocvw.WinForms.Refactor.xml
  • Improves Tabctl32.Transform.gmsl
  • Improves THREED32.WinForms.Refactor.xml
  • Improves vbscript_3.SystemText.Refactor.xml
  • Improves vsflex2.WinForms.Refactor.xml

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 Waves sample to reflect changes in Twips to Pixels in VB6 Coordinate statements
  • Improves ScanTool sample to use RefactorLibrary files rather than custom IDF for COM upgrades
  • Improves menu handling in WPF ScanTool sample

gmStudio Release News: Wednesday, 02-September-2020

We published a collection of over 75 FAQ articles relating to our tools, techniques, and methodology. We will continue to grow and maintain this collection based on customer questions and related topics. We are happy to elaborate on these and your VB6/ASP Upgrade questions and concerns. Contact us anytime to discuss.

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 included the general improvements needed to produce build-complete C# code for a commercial ERP system. This system is a single executable: 1.2M LOC organized into 850+ code files and 22,500 methods supported by 69 COM libraries. Now that’s one massive VBP. This distribution, Version 31.14, includes several enhancements:

  • Continues improvements to late-stage type inference for symbols of type Object
  • Improves support for Optional Parameters and Named arguments when Select OptionalArguments=on
  • Improves specification of ref/out argument marshaling in Interface Definition Files
  • Improves screen geometry adjustment on UI containers having ScaleMode=Pixels

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:

  • Improves error handling and logging for Analytics Reports
  • Improves the GlobalStubs process that generates integrated .NET projects from inter-related VB6/COM components
  • Improves Visual Studio integration by allowing for a user-specific SetEnv.cmd script in the User\AppData folder
  • Improves the Create Specification Code operation to use the application default .NET IDE setting
  • Improves performance of running external tools (e.g. MSBuild)
  • Improves the Shared File Consolidation process to allow re-hosting up to 64 shared files
  • Improves the gmStudio Visual Studio Extension (VSIX) to work with VS2019
  • Improves resolution of the .NET member name in the Build Log and Target Code Scan reports
  • Improves Analytics Reports to allow running the internal class or gmMetrics.exe (default is internal)
  • Improves UI Theme support and user error handling
  • Corrects field parameter problems with Search Template Reporting

gmslAPI: a .NET API for Developing Advanced Upgrade Solutions

Section titled “gmslAPI: a .NET API for Developing Advanced Upgrade Solutions”

Powered by gmBasic, gmslAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmslAPI 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 error handling and logging in the Analytics Reports services

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.

  • Adds sample TLBINF32.DLL RefactorLibrary
  • Adds sample MSXML6.DLL RefactorLibrary
  • Improves sample MSCOMDLG32.OCX RefactorLibrary

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 ScanTool sample to use RefactorLibraries for all COM upgrades