Skip to content

Blog

Major Release: Thursday, 30-July-2015

gmBasic is a unique computer language processor that reads, interprets, and rewrites VB6/ASP/COM as .NET code (C# or VB.NET). We are constantly fine tuning gmBasic so that it produces cleaner, more correct .NET code. This distribution — Version V20.05.b5 of the upgrade engine and metalanguage files — contains several enhancements:

  • Adds the Refactor/Generic command to allow specifying multi-type arguments to be upgraded to a Generic argument
  • Adds the Refactor/Overload command to allow specifying multi-type arguments to be upgraded to function overloads
  • Adds support for authoring extension methods in stub classes generated to satisfy platform dependencies
  • Improves support for upgrading VB6 Collection and Scripting.Dictionary to strongly-typed List and Dictionary. Learn more in this Special Migrations article
  • Improves the “For Each” statement upgrade
  • Improves detecting, authoring and using interface-only classes
  • Improves how optional and named arguments are handled when <Select OptionalArguments=“on” />
  • Improves how Event Handlers and EventArgs classes are implemented
  • Improves the custom CodeStyle feature. Learn more in this CodeStyle article.

gmStudio is a development environment for creating, verifying, and improving custom VB6/ASP/COM upgrade solutions. We are always improving gmStudio to make it easier to use. gmStudio now includes these improvements:

  • Adds an Upgrade Wizard to help new users setup, run, and request assistance with new upgrade projects
  • Improves the Settings Form for better user experience
  • Improves Reports and On-Screen Lists by using descriptive names rather than cryptic identifiers
  • Improves manual Folder selection dialogues by using the full-featured File/Folder Open dialogue rather than the FolderBrowser
  • Adds support for tabulating UPGRADE_TODO records in the Translation Log Report

gmStudio ships with a sample runtime library that can be used to produce code that more correctly reproduces VB6/ASP functionality. The runtime library also includes ADODB emulation classes that simplify upgrading data access logic. Note, gmStudio is highly configurable, so using the runtime library is not a requirement. The Great Migrations Runtime Library now includes the following:

  • Adds OrderedDictionary<K,T> — a generic collection class that helps emulate order-preserving, indexable VB6 collection while adding the goodness of strongly-typed generics and following .NET conventions.
    This class can also be stubbed by the gmBasic engine. It is used when VB6 Collection and Scripting.Dictionary cannot be upgraded to System.Collection.Generic classes automatically.
  • Standardizes namespaces for enumerations

gmStudio ships with a collection of sample configuration files that you may use to add custom features, such as custom COM replacement and diagnostic instrumentation, to your upgrade solution. There are over 50 files in the Sample Rules set. The Sample Upgrade Rules now include this enhancement:

  • Simplifies translation scripts to take advantage of changes in support for subsystems

Great Migrations publishes a number of VB6/ASP upgrade solution samples to illustrate the capabilities of gmStudio. All of the samples were updated to reflect the latest product improvements.

Major Release: Wednesday, 13-May-2015

  • Upgrades translation engine and default metalanguage files to V20.04.B7
  • Adds <Select UseHexConstants=“on|off”/> to enable better support for unsigned int and hex literals (beta)
  • Adds <Select OverloadArguments=“on|off”/> to preserve optional arguments in C# method declarations and calls (beta)
  • Adds status=“Nullable” on Refactor/Fixtype command to begin supporting nullable types
  • Adds support for up to 512 distinct operations in a single statement
  • Adds support for TimeSpan as an alternative target type for Dates
  • Improves support for reading VB6 designer data saved by Forms Interop Toolkit controls
  • Improves support for ParamArray modifier

gmStudio: Upgrade Solution Development Environment

Section titled “gmStudio: Upgrade Solution Development Environment”
  • Improves Large System Assessment Capabilities
    Translation without code generation is now allowed on any size system.
    With this change, advanced analytics reports may be produced for any size system.

  • Improves Member type information presented on the Source Scan Report
  • Improves behavior of configuration file comparison on Settings Form.
  • Improves handling of clashes between internal names of VBP files
  • Adds ability to open #include files from Reference List
  • Improves ToBool() extension method emulate VB6 more closely
  • Improves upgrade for MSCOMCTL (ListView)

Minor Release: Friday, 10-April-2015

  • Upgrades translation engine and default metalanguage files to V20.04.B5
  • Improves user-defined control of upgrading Collection and Scripting Dictionary to strongly-typed Generic collections.
  • Improves logic to preserve private/public scope modifiers

gmStudio: Upgrade Solution Development Environment

Section titled “gmStudio: Upgrade Solution Development Environment”
  • Corrects several issues arising when using the application with no project loaded
  • Corrects issues with setting up first project for web files
  • Improves setting up project-specific metalanguage configuration

Major Release: Monday, 06-April-2015

  • Upgrades translation engine and default metalanguage files to V20.04.B4
  • Adds user-defined control of coding style (Naming Conventions, Formatting, Optional Arguments, Simple Property Syntax, etc.) This feature is in beta.
    See Custom Coding Style
  • Adds user-defined control of upgrading Collection and Scripting Dictionary to strongly-typed Generic collections. This feature is in beta.
    See Strongly-Typed Generic Collections
  • Improves handling of user-defined types containing fixed-length arrays of fix-size strings
  • Improves handling of name clashes between local enums and global symbols
  • Improves support for loading very large resx files by selecting a larger CodeSize
  • Improves formatting hex literals in constant declarations to use hex rather than numeric literals in .NET
  • Improves initialization of enum variables to use the enum entry with value = 0 rather than the literal 0
  • Improves support for project-specific meta-language files
  • Improves Refactor/Fixtype for controlling byref/byval optimization of arguments of user-defined types

gmStudio: Upgrade Solution Development Environment

Section titled “gmStudio: Upgrade Solution Development Environment”
  • Improves Registration Form validation
  • Improves logic to compute a quick line count for multi-project upgrade scripts
  • Improves logic to find renamed or moved translation script template
  • Fixes invalid folder error when computing LOC for files added to a new ASP Upgrade project
  • Upgrades all standard samples to reflect the latest translation and runtime improvements and conventions.
  • Improves Microsoft Common Controls upgrade rules
  • Adds sample Coding Style rules (CodeStyle.std.xml)
  • Add samples Generic Collections rules (Migration.std.xml)
  • Improves ResumeNext function to try-catch all of the operations in block of code (beta)
  • Improves VB6 Form Emulation
  • Improves Global Exception Handling
  • Improves ADODB Emulation
  • Improves CommonDialog Emulation

Major Release: Thr, 15-Mar-2015

  • Upgrades translation engine and default metalanguage files to version 20.04.B2
  • General cleanup and reorganization of metalanguage files
  • Adds support for loading proprietary ActiveX Designer information (e.g. DataDynamics ActiveReports report layouts)
  • Removes Subsystem=ooc support; this will be moving forward as Subsystem=loc

gmStudio: Upgrade Solution Development Environment

Section titled “gmStudio: Upgrade Solution Development Environment”
  • Improves Settings Form to allow comparing custom COM API upgrade rules to default API descriptions
  • Improves Translation script handling to be more forgiving of XML syntax errors
  • Improves Structure Report to correctly report name of Designers rather than their file name
  • Improves the Source Scan report to include type and name of containing method where applicable
  • Allows running Target Code Scan report in Reporting-Only mode
  • Changes default “Program Files” folder paths in gmStudio.cfg to (x86) variant (standard for 64-bit windows)
  • Adds support for source folders containing single quotes (correcting problems with Build Order reports and File Edit operation)
  • Improves handling of international character sets in type library helpstrings
  • Improves license file activation conventions
  • Upgrades all standard samples to reflect the latest translation and runtime improvements and conventions.
  • Improves LightWeight Object Oriented coding standard specification in ScriptRules.xml
  • Improves ResumeNext function to try-catch all of the operations in block of code (beta)