Skip to content

Blog

gmStudio Release News: Wednesday, 01-May-2019

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

  • Improves the general ability to produce accurate, build-complete .NET (C# and VB.NET) systems from ASP sites (most recently making enhancements needed to upgrade a large e-mail marketing system with over 1000 pages and almost 300 #includes.)
  • Improves handling the ASPErrorObject
  • Improves handling VB6 codes with very long Conditional Compilation settings in the VBP file

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 Search Reporting to allow searching ASP site code based on the list of files processed by the translator
  • Improves Search Reporting to allow using gmStudio Report files as a search source
  • Improves Definitions Report to report immediate parent of each defined symbol
  • Improves Definitions Report to report a Handler attribute for Subprograms that are event handlers
  • Improves handling projects that reference missing source files
  • Improves handling deployment reporting
  • Adds support for showing columns keys rather than descriptions in the Search Reports results
  • Adds support for reporting Processed File messages in the Translation Log report
  • Improves working with project content located on a UNC path
  • Adds support for suppressing session logging by setting Max Session Lines to 0

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 Definitions Report to report immediate parent of each defined symbol; This is helpful for analysing sub program parameters
  • Improves Definitions Report to report a Handler attribute to Subprograms that are event handlers

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 CodeScanList.txt: additional entries in preset list of Potential VB6 Issues

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.

gmStudio Release News: Wednesday, 20-March-2019

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.82, 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 large ERP system with 326 VBPs referencing 1,369 code files containing 1.3M LOC and 50 third-party-COM components)
  • Improves migration of PropertyBag and PropertyPage
  • Improves support for using Debug Build Configuration
  • Improves support for VBScript classes in ASP translations
  • Improves support for ASPErr Object in ASP translations
  • Improves translation of DragOver and DragDrop events
  • Improves diagnostic reporting for migrating implicit conversions and Type Inference operations
  • Improves translation of LoadResPicture function
  • Corrects issue with Event/Method Name Clash when BuildFile=global
  • Improves handling IIf when return values have different types.
  • Improves Naming convention for same-named ASP pages
  • Improves handling “New class.member” references in ASP
  • Improves handling ScaleModeConstants enumeration
  • Improves handling Arrays declared using type-indicator characters
  • Improves recognizing properties of Global Multiuse classes
  • Improves migrating complex IIf expressions

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 Source Search performance by using multi-threaded logic
  • Improves Side-by-Side Viewer to allow manually selecting files displayed
  • Improves handling of ASP with VBScript classes on the the Side-by-Side form
  • Improves behavior of Reporting Only mode when project exceeds license limits
  • Improves handling regex expression errors on Search panel

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.

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 CodeScanList.txt for translation audit reporting
  • Improves GlobalStubs.xml for generating global stub framework

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.

gmStudio Release News: Saturday, January 26, 2019

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.

It's been 20 years

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.