Skip to content

Blog

gmStudio Release News: January 2019 Updates

gmBasic is a code transformation tool that 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. This distribution, Version 30.80, includes several enhancements:

  • Improves handling statement continuation
  • Improves handling missing code files
  • Improves handling assigning a string quantity to a Font property
  • Improves several details in VB.NET translations

gmStudio: Upgrade Solution Development Environment

Section titled “gmStudio: Upgrade Solution Development Environment”

Powered by gmBasic, gmStudio is a development environment for creating high-performance, 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 reporting user-defined type and class references in the Analytics References Report
  • Improves handling file references for sub-modules within COM libraries
  • Improve status reporting for VB6 Build test
  • Improves Startup Splash Screen to display a unique build ID

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 the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmslAPI also includes classes to facilitate the integration and management of complex upgrade rules in gmStudio. This API was updated to reflect the latest product improvements and conventions.

  • Improves coverage and detail in the Reference and Definitions reporting APIs

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.

  • Improves WPF Migration to handle Startup with Main function rather than a startup Form
  • Improves sample script for automating gmStudio from the command line

Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions were updated to reflect the latest product improvements and conventions.

VB6 Modernization: An Urgent Strategic Priority

Happy New Year! 2019 is here and it is almost 20 years since the last major release of Visual Basic classic (VB6). Companies have been implementing business functionality as VB6 (or ASP classic) code for over two decades. And while these legacy applications are essential to business, their dependence on VB6/ASP/COM is a serious risk for the users of these applications. Recent trends in computing and shifts in the developer community make VB6/ASP modernization an urgent priority — more than ever before. This email presents a business case for upgrading VB6/ASP/COM systems to .NET and describes how Great Migrations can help.

Our expectations for computing have changed dramatically since the turn of the century:

  • Several Major Windows OS changes: XP, Vista, Windows 7, Windows 8, Windows 10
  • Critical focus on cyber security and privacy
  • Profound advances in web application design and browser technology
  • Ubiquitous internet: IoT, web-connected applications, web services, mobile and smart devices
  • New cloud computing and virtualization platforms: Azure, AWS, Docker
  • Improvements in user experience: Voice, Touch, Gestures, Vision
  • Changes in deployment: Automatic Windows Update, Roaming Realtime Personalization, Installations from App Stores, SaaS
  • Cutting-edge computing: Machine Learning, Hive Computing, Robotics, and Augmented Reality

The Windows platform continues to diverge from its 32-bit roots and, in the process, it becomes less compatible with VB6 and COM. January 2020 will bring the End of Windows 7 Support. We already have people telling us that their VB6/ASP applications no longer work reliably and fail to meet expectations for security and usability. Those problems will increase as more people upgrade to the latest Windows OS and find that their out-dated applications do not even install let alone function correctly.

Meanwhile, Windows development for .NET continues to evolve. The .NET community is growing and creating commercial and Open Source compilers, frameworks, applications, and development tools. .NET development is now possible on multiple platforms: Android, iPhone, Linux and MacOS — besides Windows.

Finally, we continue to enjoy great advancements in the ways teams build software: improved DevOps and Collaboration, Continuous Integration, automated testing, integrated application monitoring, and sophisticated design patterns. Optimized for.NET, these advances cannot be fully utilized on the VB6/ASP/COM platform.

This is progress, but technology for technology’s sake does not pay the bills. Reliable, accurate functionality for your users is what matters most. As long as your functionality remains locked up in out-dated technology, it will be difficult to maintain service levels, let alone deliver the promises of contemporary computing.


The Case of the Disappearing VB6 Programmer

Section titled “The Case of the Disappearing VB6 Programmer”

VB6 was designed and optimized for COM and Windows XP. It was very popular in the 1990s, but it started to fall out of favor in 2002 when Microsoft released .NET. The official end-of-support for VB6 was over 10 years ago, in April 2008.

Developers generally prefer to work with well-supported, marketable technologies. Finding people who are both willing and able to work with VB6/ASP is getting harder and it’s only a matter of time before VB6/ASP development activities fail due to lack of resources. If you have VB6/ASP experts working for you, it may be a good idea to begin your modernization efforts now, while those folks are available to help. You may also consider using gmStudio to help you “cash-in” your legacy codes and get the job done faster with less cost, risk and disruption.

At its peak, there were over three million developers writing VB6 code. Maybe you were one of them; I was. Today, most working Windows developers never used VB6 and those who did have gone on to learn .NET. VB6 as a mainstream development tool is history, and the same can be said about ASP Classic for web development. As shown in the schematic, the assumed diminishing size of the VB6 community may not be far off from the actual attrition.

A Major Advancement in VB6/ASP/COM Transformation Technology — Upgrading VB6 Forms to WPF

Section titled “A Major Advancement in VB6/ASP/COM Transformation Technology — Upgrading VB6 Forms to WPF”

gmBasic is a powerful code transformation tool that reads, interprets, and rewrites VB6/ASP/COM systems for .NET — as either C# or VB.NET code. gmBasic is extremely fast and accurate, but its most powerful feature is flexibility arising from an open COM type system, a modifiable VB6/ASP metalanguage, and customizable upgrade scripts. In 2018, GM made another major breakthrough: gmAPI, a .NET API for automating the gmBasic engine and accessing the semantic models produced by our linguistic compilation technology. Development teams may now use the Visual Studio IDE to integrate gmBasic translation technology with .NET platform features and create sophisticated upgrade solutions that do deep refactoring like upgrading VB6 Forms to WPF and restructuring logic with custom COM API replacements.

gmStudio users have already used the gmAPI to implement very large, multi-feature upgrade solutions. See for example this case studyabout a large VB6/Forms to C#/WPF upgrade.


gmStudio Release News: December 20, 2018

gmBasic is a powerful code transformation tool that reads, interprets, and rewrites VB6/ASP/COM systems for .NET (using C# or VB.NET). We are always improving gmBasic and the core upgrade rule set to make them more robust and flexible so that they produce cleaner, more correct results. This distribution, Version 30.78, includes several enhancements:

  • Improves handling of TabIndex on Labels and Frames to more closely match VB6 Tab Order behavior in WinForms
  • Improves migration of File System ListBox controls to WinForms
  • Adds support for setting Library.ImplicitByRef and Library.AssemblyName in Migrate commands
  • Improves handling of name clash between a class and an enclosed User-Defined-Type
  • Adds support for renaming a User-Defined Types by accepting the migName attribute in the Interface Description Files

gmStudio: Upgrade Solution Development Environment

Section titled “gmStudio: Upgrade Solution Development Environment”

Powered by gmBasic, gmStudio is a development environment for creating high-performance, custom VB6/ASP/COM to .NET upgrade solutions. We are always adding functionality to gmStudio and making it easier to use. This distribution includes several enhancements:

  • Improves Splash Screen at startup

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 the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmSLAPI also includes classes to facilitate integrating with gmStudio and managing complex upgrade rules. The API was updated to reflect the latest product improvements and conventions.

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.

Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions were updated to reflect the latest product improvements and conventions.

  • Corrects handling of File System ListBox controls in ScanTool Sample
  • Improves handling of TabIndex on Labels and Frames to more closely match VB6 Tab Order behavior in WinForms

gmStudio Release News: December 14, 2018

gmBasic is a powerful code transformation tool that reads, interprets, and rewrites VB6/ASP/COM systems for .NET (using C# or VB.NET). We are always improving gmBasic to make it more robust and flexible so that it produces cleaner, more correct results. This distribution, Version 30.78, includes several enhancements:

  • Improves the general ability to produce accurate, build-complete .NET (C# and VB.NET) systems from VB6 code. Most recently, these enhancements were brought to bear on the upgrade of a Property Management application implemented in 44 VBPs referencing 2,520 code files containing 1.9M LOC and 44 third-party-COM components
  • Improves handling of type indicator characters used in variable references
  • Improves handling VB.Data Control and VB.OLE Control
  • Improves handling name collisions between global methods and user-defined types
  • Improves handling handling alternate statement separator in declarations using Global keyword
  • Adds detailed diagnostic logging for Type Interference using <Select TraceChanges=“on”/>

gmStudio: Upgrade Solution Development Environment

Section titled “gmStudio: Upgrade Solution Development Environment”

Powered by gmBasic, gmStudio is a development environment for creating high-performance, custom VB6/ASP/COM to .NET upgrade solutions. We are always adding functionality to gmStudio and making it easier to use. This distribution includes several enhancements:

  • Improves performance of New Project Wizard
  • Improves various aspects of UI such as list sorting, tooltips, labels, etc
  • Adds option to skip build when running New Project Wizard
  • Adds option to ignore missing COM references when running New Project Wizard
  • Improves integrated .NET build to allow for different versions of VS2017
  • Adds a Splash Screen when starting in GUI mode
  • Improves diagnostic logging at startup feature
  • Improves console logging when running in batch mode
  • Improves syntax highlighting for C# in Side-by-Side viewer
  • Improves performance of running analytics reports
  • Improves file/string hashing to use FIPS compliant algorithm (used for GUID generation and duplicate file / method detection)
  • Improves handling of international character sets by standardizing on UTF-8 encoding
  • Improves performance of Longest Lines report
  • Improves handling of special characters when searching contents of Side-by-Side form
  • Improves handling very large files during Target Code Scan
  • Improves COM description file generator to suppress “numbered duplicate” interfaces
  • Improves performance of task filtering operations
  • Add support for XML declaration element in translation script and gmProj files
  • Improves Author Fix/FileFilter to allow for partial filepath; e.g., just the filename
  • Improves license checking and operation while in Reporting Only mode
  • Corrects problem with adding files to a new ASP project

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 the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmSLAPI also includes classes to facilitate integrating with gmStudio and managing complex upgrade rules. The API was updated to reflect the latest product improvements and conventions.

  • Modifies sample Program to use gmslAPI.Common.DefaultStartUpFile rather than hard coded 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.

  • Improves support for Scripting (scrrun.dll) Migration
  • Improves sample batch code in RunGmStudio.cmd

Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions were updated to reflect the latest product improvements and conventions.

  • Improves sample batch regression test scripts

gmStudio Release News: October 2018 Updates

gmBasic is a powerful code transformation tool that reads, interprets, and rewrites VB6/ASP/COM systems for .NET (using C# or VB.NET). We are always improving gmBasic to make it more robust and flexible so that it produces cleaner, more correct results. This distribution, Version 30.76, includes several enhancements:

  • Improves the general ability to produce accurate, build-complete .NET (C# and VB.NET) systems from VB6 code (most recently making enhancements needed to upgrade a massive ERP application with 1,366 VBPs referencing 11,739 code files containing 6.1M LOC and 65 third-party-COM components)
  • Improves handling COM file references in VBP files
  • Improves handling identifiers containing international characters
  • Improves handling VB6 App.LogPath and App.LogMode

gmStudio: Upgrade Solution Development Environment

Section titled “gmStudio: Upgrade Solution Development Environment”

Powered by gmBasic, gmStudio is a development environment for creating high-performance, custom VB6/ASP/COM to .NET upgrade solutions. We are always adding functionality to gmStudio and making it easier to use. This distribution includes several enhancements:

  • Improves flexibility of deployment by allowing the user to specify .NET project file and folder naming conventions as part of each gmStudio project’s settings
  • Improves resolution of Translation Script location for EXE tasks
  • Improves passing command line arguments for EXE tasks
  • Improves whole file search when matches are found at start of line
  • Improves project re-location logic to allow moving from one drive to another
  • Improves reporting of Warning and Note messages in the Translation Log Report
  • Improves support for MSBuild and VS2017
  • Improves ScriptRule feature so Compile\Refactor commands are automatically placed after Compile\Fix commands
  • Improves error handling when Authoring COM Interface Descriptions from a TypeLibs.lst file
  • Improves handling of international characters in script and log files
  • Corrects problem with saving user defaults changes
  • Corrects SyntaxHighlighter to color comments before strings
  • Improves efficiency of running metrics reports from New Project Wizard
  • Improves New Project Wizard to include Metrics details in Project Review results

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 the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmSLAPI also includes classes to facilitate integrating with gmStudio and managing complex upgrade rules. The API was updated to reflect the latest product improvements and conventions.

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.

  • Improves Tab Dialog Control (TabDlg32.ocx) Migration
  • Improves support for Scripting (scrrun.dll) Migration

Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions were updated to reflect the latest product improvements and conventions.

Download: