Page tree
Skip to end of metadata
Go to start of metadata

Release Blog

gmBasic: Upgrade Engine Update

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

  • Improves the general ability to produce accurate build-complete .NET (C# and VB.NET) systems from VB6 systems (most recently including enhancements needed to upgrade a large shipping logistics application with 1 VBP referencing 283 code files containing 880K LOC and 39 third party-COM components)
  • Adds Refactor/OverGeneric statement to create generic overloads for byref parameters that must take multiple types of arguments
  • Adds new Fix attributes for matching multi-line patterns: MatchBlock and MatchTillLast
  • Improves generated Forms designer code
  • Adds parameter@types attribute to the InterfaceDefine feature to direct interfaces generated from specified types
  • Improves upgrading difficult cases of On Error Goto and On Error Resume
  • Improves GoSub refactoring to allow more GoSubs within a method
  • Improves handling of reference to COM Constants
  • Improves handling of calls to the Array function with no arguments
  • Improves translations of Third-Party Controls on Forms and UserControls
  • Improves handling of naming conflicts between undeclared application symbols and VB6/COM global symbols
  • Improves handling of naming conflicts between control names and VB6 keywords
  • Adds DataStore API methods to the GM Scripting Language (gmSL)

gmStudio: Upgrade Solution Development Environment Update

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 also making it easier to use. This distribution includes several enhancements:

  • Improves the Visual Studio integration by allowing you to launch with a new VS Solution or with a .NET project file
  • Improves the Visual Studio integration by opening the existing session if already running
  • Improves the VB6 IDE integration by opening the existing session if already running
  • Improves Upgrade Wizard by allowing user to skip metrics reporting operations
  • Improves launching Side-By-Side Viewer for build errors in MDIForms
  • Corrects project creation using Windows Shell Integration

Sample Upgrade Rules Update

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.

Sample Upgrade Solutions Update

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.

gmBasic: Upgrade Engine Update

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

  • Improves the general ability to produce accurate build-complete .NET (C# and VB.NET) systems from VB6 systems (most recently including enhancements needed to upgrade a large Energy Trading System composed of 177 VBPs referencing 2,724 code files (1.6M LOC) and 90 third party-COM components)
  • Adds support for different code file encoding schemes <Select CharSet="ASCII|UTF8|Shift_JIS"/>; default is ASCII
  • Improves VB.NET support for upgrading for each loop over control array elements
  • Improves VB.NET support for parameters declared to take Generic collection of control (i.e. VB6 Control Array)
  • Improves migration of Startup Form to use a Starup class with a Main function that runs and instance of the form
  • Improves custom migration certain cases of COM Property Get
  • Improves build order report to allow for references to .RLL files

gmStudio: Upgrade Solution Development Environment Update

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 also making it easier to use. This distribution includes several enhancements:

  • Improves the Search feature by adding support for reading search terms from a file using /filepath
  • Improves Source References report to use library description from IDL file if it is not available from the registry
  • Improves .NET Build Log report to more accurately report source lines
  • Improves Metrics Summary Report to report Reference Type and Name in COM References section

Sample Upgrade Rules Update

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.

Sample Upgrade Solutions Update

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.

New gmStudio Case Studies and Testimonials

A recent customer allowed us to publish a brief description of their VB6/COM upgrade project and their testimonial of success with gmStudio.  Learn how a small team successfully completed a very large, ambitious VB6/COM upgrade effort with the help of gmStudio. Read the article 

gmBasic: Upgrade Engine Update

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

General Improvements

  • Improves the general ability to produce build-complete .NET code from very large, very complex VB6 systems (most recently including enhancements needed to upgrade a Chiropractic Patient Management application composed of 60 inter-related VBPs referencing 1,079 unique files containing over 780K unique LOC and 84 third party COM components)
  • Improves handling member name clashes in COM APIs
  • Improves inferring the rank of variant arrays
  • Improves handling mismatch between enum parameter type and enum arguments
  • Improves using weakly-typed values in a context expecting a Color value
  • Improves handling classes named "Main" that conflict with the reserved method name "Main"
  • Improves handling the "value" parameter of property setters
  • Improves initialization of 2D arrays
  • Improves conversions applied for mixed-type assignments
  • Corrects metalanguage declaration of MidB to return String
  • Improves default C# coding style to use more of lightweight object-oriented patterns (previously required Subsytem=loc)

ASP Improvements

  • Improves statement boundary detection in complex cases of server code integrated with markup
  • Improves upgrading VBScript classes in ASP codes to code classes
  • Improves upgrading #include statements in render functions
  • Improves use of extension methods in upgraded ASP code
  • Improves upgrading cross-linked VBScript classes. In ASP, cross-linking occurs when code in #include files or VBScript classes references symbols from other #includes, pages, or classes.

gmStudio: Upgrade Solution Development Environment Update

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 also making it easier to use. This distribution includes several enhancements:

  • Adds support for opening Side-by-Side viewer from member search results
  • Adds support for opening Side-by-Side viewer from GUI designer search results
  • Adds support for opening Side-by-Side viewer for code classes generated from VBScript classes
  • Improves Reset job status behavior to also clear reference status and delete IDF cache files

Sample Upgrade Rules Update

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.

Sample Upgrade Solutions Update

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.

gmBasic: Upgrade Engine Update

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

  • Improves the general ability to produce build-complete .NET code from very large, very complex VB6 systems (most recently including enhancements needed to upgrade a Comprehensive Tax Preparation of 19 inter-related VBPs referencing 993 unique files containing over 1.4M unique LOC and 42 third party COM components)
  • Adds support for UserDocument
  • Improves handling name clashes with other application identifiers or .NET reserved words
  • Improves preserving comments in enums, user-defined types, and select-case statements
  • Adds logic to report a warning when a Refactor/FixType is not found
  • Improves inferring and propagating the rank of array parameters and variables
  • Increases the number of possible branches in a Select/Case to 1024
  • Improves handling COM descriptions containing same-named interfaces
  • Removes automatic conversion of a Function to a Subroutine when the Function does not set any return value
  • Improves handling Implements and interfaces
  • Improves refactoring GoSub into separate functions
  • Improves handling the CVar function
  • Improves handling recursive functions
  • Improves reporting translation diagnostics when TraceChanges=on
  • Improves readability of complex late calls
  • Improves maintaining the consistency of inferred types for a property let/get
  • Improves handling of variant variables/parameters used both as array and scalar
  • Improves logic to insert temporary variables used within Do-While loops
  • Improves project with non-standard file naming conventions

gmStudio: Upgrade Solution Development Environment Update

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 also making it easier to use. This distribution includes several enhancements:

  • Adds Support for UserDocuments and Designers on Source Structure Report
  • Improves Support for custom ActiveX Designers
  • Corrects updating Reference Status in the project tracking reports
  • Improves use of user-preferred editor rather than shell-open
  • Adds support opening containing file from a full-file search at a specific line
  • Simplifies default editor conventions
  • Adds the ability to open Side-by-Side viewer from Build Log listing

Sample Upgrade Rules Update

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.

Sample Upgrade Solutions Update

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. 

New gmStudio Case Studies and Testimonials

A handful of recent customers allowed us to publish brief descriptions of their VB6/COM upgrade projects and their testimonials of success with gmStudio. Learn how small teams successfully completed large, ambitious VB6/COM upgrade efforts with the help of gmStudio. Read the case studies 

Adding WPF Support for VB.NET

The gmStudio distribution includes a sample demonstrating an upgrade of VB6 forms to WPF. This sample was originally implemented for C# only. In this release, we added a WPF sample for VB.NET and published a blog article to describe how we did it.

gmBasic: Upgrade Engine Update

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

  • Improves the general, right out-of-the-box, ability to produce build-complete .NET code from very large, very complex VB6 systems (most recently including enhancements needed to upgrade a Comprehensive Tax Preparation of 19 inter-related VBPs referencing 993 unique files containing over 1.4M unique LOC and 42 third party COM components)
  • Improves rewriting complex GoSub blocks as separate functions
  • Improves handling undeclared variables
  • Improves rewriting complex conditional expressions that mix booleans and enums
  • Improves relocating local Const variables when needed to initialize local Static arrays
  • Improves rewriting Select/Case statements
  • Improves rewriting designer code enum properties initialized with an undefined numeric values
  • Improves rewriting IIf with incompatible true/false result types
  • Improves determining if a control or its default property is needed when referenced from outside the host form
  • Improves rewriting large numeric literal expressions to prevent compile-time overflow
  • Improves identifying collection properties and migrating complex references to collection element
  • Improves rewriting binary operations involving decimal and DateTime quantities
  • Improves rewriting logic for control arrays as logic using SortedList
  • Improves handling files that had internal naming collision
  • Improves rewriting the Unload control statement
  • Improves rewriting references to the Index property of control arrays.
  • Improves propagating custom interface events to Implementing classes
  • Improves rewriting very large numeric consts that were specified as string literals
  • Improves inferring and propagating the rank and marshalling of array parameters
  • Improves placement of temporary variables created in nested code blocks
  • Improves type inference for collections of collections
  • Improves rewriting Friend interface members as public
  • Improves rewriting parameterized properties

gmStudio: Upgrade Solution Development Environment Update

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 also making it easier to use. This distribution includes several enhancements:

  • Adds support for Side-by-Side Code Viewer with ASP upgrade projects
  • Adds support for creating new gmStudio projects from the command line interface
  • Improves default results folder naming conventions to use a simpler, more natural form
  • Improves Close Project behavior
  • Improves error handling and reporting for Meta-Language and Translation processes
  • Adds Double-Click to Edit User-Files on the Configuration form
  • Improves Edit Project Name behavior on the Configuration form
  • Improves the Search Reporting for XML files in the User and System folder by reporting fully qualified location of matches.
  • Improves default Search List/Reporting layout when their orientation changes
  • Improves Visual Studio Solution Generator to set stable project GUIDs based on upgrade project task names
  • Corrects Task order displayed on the Upgrade Wizard to reflect build order and processing order
  • Corrects new projects to suppress upgrading Collections/Dictionaries to strongly-typed Generic collections

Sample Upgrade Rules Update

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 latest distribution of sample rules files includes several improvements:

  • Adds scripts showing how VB6 forms may be upgraded to WPF/XAML for VB.NET. Formerly this was only available for C#

Sample Upgrade Solutions Update

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

  • Adds a sample demonstrating VB6 forms to WPF/XAML for VB.NET. Formerly this was only available for C#

gmBasic: Upgrade Engine

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

  • Improves the general ability to produce build-complete .NET code from very large, very complex VB6 systems (most recently including enhancements needed to upgrade a Comprehensive Accounting System of 38 inter-related VBPs re ferencing 1,149 unique files containing over 1.8M unique LOC).
  • Improves ByRef to ByVal optimization rules
  • Improves precision of division involving fixed-point quantities.
  • Improves handling of international Character sets in source code and upgrade configuration files
  • Improves handling With blocks using instance of a user-defined type (C#)
  • Improves handling of IsNull/Null operations with default properties
  • Improves handling of power-of-ten numeric constants to use the 'E' notation (e.g., 1.0E3)
  • Improves handling of optional parameters that use private symbols as default values by using overloading

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 also making it easier to use. This distribution includes several enhancements:

  • Adds a FileName attribute in the ScriptRule commands
  • Adds support for copying selected text to the clipboard from the Side-by-Side code review form
  • Adds support for authoring '%' character from Search Reporting template (useful for generating refactoring commands from search results)
  • Improves copying task list data using CTRL-C (names) and Shift-CTRL-C (details)
  • Adds option to add a User Command Script to each task when adding tasks to a gmStudio project file
  • Improves Search Reporting options: unique, template, detail, none
  • Improves ProgID Report by removing deprecated CLSID field
  • Corrects issue with FileExists test when file path is null
  • Corrects issue with starting application with the /folder command line switch

Sample Upgrade Rules

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 latest distribution of sample rules files includes several improvements: 

  • Standardizes sample COM replacement rulesso that the internal library id is same as default COM library id. This simplifies activating COM replacement rules files in your upgrade solution
  • Simplifies MigrationSupport namespace conventions to streamline the supporting code if needed
  • Updates standard script templates by moving configuration folder specifications to top of script
  • Updates comments in sample standard script templates standard script templates file

Sample Upgrade Solutions

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

gmBasic: Upgrade Engine

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

  • Improves general ability to produce build-complete .NET code from very large, very complex VB6 systems (most recently including enhancements needed to upgrade a Comprehensive Accounting System of 38 inter-related VBPs referencing 1,149 unique files containing over 1.8M unique LOC).   
  • Improves client-side VBScript to JavaScript transformation when also using Subsystem=loc
  • Corrects handling of <header> tag in ASP
  • Improves handling large COM libraries with classes implementing more than 100 interfaces (e.g. ESRI GIS)
  • Improves rewriting Select Case as C# switch statement rather if/else
  • Improves restructuring code using both GoSub with GoTo labels into separate functions
  • Improves recognizing operations in late bound property Get/Let property operations
  • Improves upgrading Popup menu
  • Improves handling If Then Else when there is no operation after Then
  • Increases the use of cleaner, early bound syntax for symbols having an inferred type
  • Increases the limits of the Build Order Tool to allow up to 1,024 VBPs

gmStudio: Upgrade Development Environment

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

  • Adds support for a Wizard-Only license for a new "Great Migrations Upgrade Wizard" offering.
  • Improves licensing so that IDF generation is allowed after the Trial License is expired
  • Improves logic to setup Global Stubs script
  • Adds Search Terms Presets to the Search feature 
  • Adds Search Reports Presets to the Search feature
  • Improves .NET Build Log Report to more accurately reflect .NET project path
  • Improves Translation Log Report for missing references

Sample Upgrade Rules

gmStudio ships with a collection of sample upgrade rules that 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. This distribution of the latest set of sample rules files includes several improvements:

  • Improves the default Search Terms file adding presets
  • Improves the default Search Report Templates file adding presets

Sample Upgrade Solutions

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

gmBasic: Upgrade Engine

gmBasic is a programming language processor that reads, interprets, and rewrites VB6/ASP/COM as .NET code (C# or VB.NET). We are always improving gmBasic so that it is more flexible and produces cleaner, more correct .NET code. This distribution, Version 30.37, of the upgrade engine and metalanguage files includes several enhancements:

  • Improves automatically producing build-complete C# code from very large, very complex systems (most recently a Retail Auto Parts Distribution Management System comprised of 80 VBPs and 1.5M LOC).
  • Corrects missing VB6 Form Menu when the form has no other controls
  • Improves propagation of Refactor/Rename in in COM description files generated from source code
  • Increases the number of subclasses that can be members of a coclass in a COM description file
  • Corrects duplicated interface members in generated stub framework
  • Improves Naming Conventions for temporary non-LValue arguments needed to pass by ref
  • Improves correctness of Global Build Process Workflow
  • Improves upgrading Is Operator to use .Equals() or equality operator as appropriate
  • Removes built-in support for MigrationSupportUI
  • Removes built-in support for DevEnv=VS2005 and DevEnv=VS2008

gmStudio: Upgrade Development Environment

Powered by gmBasic, gmStudio is a development environment for building custom VB6/ASP/COM to .NET upgrade solutions. We are always adding functionality to gmStudio and also making it more helpful and easier to use. This distribution contains the latest build of gmStudio, which includes several enhancements:

  • Improves initial value of Task Description field to contain VBP Name or Description if available
  • Adds an item for displaying the Side-By-Side viewer from the Source Metrics context menu
  • Adds Regular Expression Conditions to the ScriptRules processor
  • Adds PreAnalyse and PostAnalyze insertion points for the ScriptRules processor
  • Improves Source Reference Report/Search
  • Improve searching and reporting Multi-Unit Scripts (e.g. ASP site scripts) with SrcType=XML
  • Improves accuracy of Target Code Scan
  • Improves CTLR-C and Shift-CTLR-C for copying Task Information to the Clipboard

Sample Upgrade Rules

gmStudio ships with a collection of sample upgrade rules that add custom upgrade features to your upgrade solution -- such as custom COM replacement and diagnostic instrumentation. These XML documents and gmSL scripts are distributed as open source and you may modify them to fit your unique requirements. This distribution of the latest set of sample rules files includes several improvements:

  • Improves the default Custom Scripting Transformation script (ScriptRules.xml)

Sample Upgrade Solutions

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 and conventions. All samples now target VS2013 although you may easily modify them to target VS2010 or VS2015.

  • Removes MigrationSupportUI=off

gmBasic: Upgrade Engine

gmBasic is a programming language processor that reads, interprets, and rewrites VB6/ASP/COM as .NET code (C# or VB.NET). We are always improving gmBasic so that it is more flexible and produces cleaner, more correct .NET code. This distribution, Version 30.32, of the upgrade engine and metalanguage files includes several enhancements:

  • Improvements to be able to produce build-complete C# code from very large and very complex systems (most recently a VB6 Shipping/Cargo Simulation System comprised of 22 VBPs and 1M LOC).
  • Adds Interfaces.dll extension to help upgrade dynamic parameters to Custom Interfaces
  • Improves Array to Array assignments
  • Improves upgrading goSub code to separate functions
  • Improves upgrading Error Handling
  • Improves support for the COM Stub Framework generation process
  • Adds gmSL Character functions IsLowerCase, IsUpperCase, and Length

gmStudio: Upgrade Development Environment

gmStudio is a development environment for building custom VB6/ASP/COM to .NET upgrade solutions. We are always adding functionality to gmStudio and also making it more helpful and easier to use. This distribution contains the latest build of gmStudio, which includes several enhancements:

  • Improves support for running in 32bit environments
  • Improves stability of running gmStudio as a Visual Studio Extension
  • Improves support and documentation for the COM Stub Framework generation process
  • Improves support and documentation for the ScriptRule feature
  • Adds match order to search results on the Side-by-Side Viewer
  • Improves Template Search Reporting by making template place-holders case-insensitive
  • Improves the Visual Studio Solution Report by using a "GenerateSolution.txt" file to file to specify which projects to include in the solution
  • Improves cancelling long running batch process cancelling the process tree, not just the parent process
  • Corrects multi-line target code search
  • Corrects Side-by-Side Viewer when selected search record is from a .NET Designer file
  • Improves the GUI Scan Report to a record fully-qualified control name for each property setting
  • Improves the Translation Log Report to record additional warning messages
  • Contains various minor UI improvements

Sample Upgrade Rules

gmStudio ships with a collection of sample upgrade rules that add custom upgrade features to your upgrade solution -- such as custom COM replacement and diagnostic instrumentation. These XML documents and gmSL scripts are distributed as open source and you may modify them to fit your unique requirements. This distribution of the latest set of sample rules files includes several improvements:

  • Adds StubControlBaseClass.xml to assist the upgrade of Stub Framework controls by deriving from WinForms Controls
  • Improves the COM upgrade for Internet Controls (ieframe.dll/shdocvw.dll/msinet.ocx)
  • Improves the COM upgrade for MS Calendar Control (MSCAL.OCX)
  • Improves the COM upgrade for MS Common Controls 2 (MSCOMCT2.OCX)
  • Improves the COM upgrade for MS FlexGrid Control (MSFLXGRD.OCX)
  • Improves the COM upgrade for MS WinSock Control (MSWINSCK.OCX)
  • Improves the COM upgrade for MS XML API (MSXML6.dll)
  • Improves the COM upgrade for Resize Kit (ResizeKit.ocx)
  • Improves the COM upgrade for Rich Text Control (richtx32.ocx)
  • Improves the COM upgrade for UI Rad Text Controls (uiRAD.ocx)
  • Improves the COM upgrade for RegEx API (vbscript.dll/3)
  • Improves the Global Stub Framework Generation script (GlobalStubs.xml)
  • Improves the Custom Scripting Transformation script (ScriptRules.xml)

gmBasic: Upgrade Engine

gmBasic is a programming language processor that reads, interprets, and rewrites VB6/ASP/COM as .NET code (C# or VB.NET). We are always improving gmBasic so that it is more flexible and produces cleaner, more correct .NET code.
This distribution contains Version 30.29 of the upgrade engine and metalanguage files which includes several enhancements:

  • Improves correctness of Date with Numeric calculations and comparisons in upgraded codes
  • Improves upgrading goSub to separate functions
  • Improves handling of Interfaces and Implements for complex object models
  • Improves readability of translations by suppressing some conversions and namespace references
  • Improves handling of stdole.Font
  • Improves upgrading nested On Error GoTo blocks to try-catch
  • Improve handling of static local variables

gmStudio: Upgrade Development Environment

gmStudio is a development environment for building custom VB6/ASP/COM to .NET upgrade solutions. We are always improving gmStudio so that it is more helpful and easier to use. This distribution contains the latest build of gmStudio which includes several enhancements:

  • Adds a new Side-by-Side File Viewer that may be launched from the Search results list. This only works source and target results in VB6 projects right now. Other types of search results and ASP projects will be added in a future release.
  • Corrects an issue with ASP Reference Report when a page has no COM dependencies

Sample Upgrade Solutions

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 and conventions. All samples now target VS2013 although you may easily modify them to target VS2010 or VS2015.

New Upgrade Effort Estimation Model

We have developed a new model for computing the effort of a large modernization project.  Please contact us if you are interested in learning more.  https://www.greatmigrations.com/about/contact.aspx

gmBasic: Upgrade Engine

gmBasic is a programming language processor that reads, interprets, and rewrites VB6/ASP/COM as .NET code (C# or VB.NET). We are always improving gmBasic so that it is more flexible and produces cleaner, more correct .NET code. This distribution contains Version 30.28 of the upgrade engine and metalanguage files which includes several enhancements:

  • Improves upgrading Friend scope modifier to internal for C# and Friend for VB.NET
  • Improves upgrading goSub to separate functions
  • Improves recognizing complex expressions of collections with default properties containing collections
  • Improves inferring rank of multi-dimensional arrays from usage
  • Improves handling of Const Double with computed values
  • Improves upgrading nested On Error Goto blocks to try-catch
  • Improve handling of static local variables

gmStudio: Upgrade Development Environment

gmStudio is a development environment for building custom VB6/ASP/COM to .NET upgrade solutions. We are always improving gmStudio so that it is more helpful and easier to use. This distribution contains the latest build of gmStudio which includes several enhancements:

  • Adds VS2015 support choosing Framework v4.6.1 by default
  • Improves the Generate Visual Studio Solution function to support VS2010 and higher
  • Adds Float/Dock Window and Alternate Panel Layout behavior to Search TabPage
  • Improves COM References Report to identify COM type libraries that wrap interop assemblies
  • Improves License Request to allow non-Project-Specific request option
  • Improves Source References Report to indicate if a reference is to an .NET interop assembly
  • Corrects issues with Wizard settings and project results not saving
  • Corrects problem with exceeding license limit on Project Setup Form

Sample Upgrade Solutions

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 and conventions. All samples now target VS2013 although you may easily modify them to target VS2010 or VS2015.

gmBasic: Upgrade Engine

gmBasic is a programming language processor that reads, interprets, and rewrites VB6/ASP/COM as .NET code (C# or VB.NET). We are always improving gmBasic so that it is more flexible and produces cleaner, more correct .NET code. This distribution contains Version 30.25 of the upgrade engine and metalanguage files which includes several enhancements:

  • Improves automated refactoring of GoSub into separate function calls
  • Improves handling of Const Double with computed values
  • Improves processing very complex expressions using nested collections
  • Improves gmSL handling of complex solutions requiring multiple SubSystems such as LOC+WPF
  • Continues development of the VMS COBOL/DCL to C# feature. Please contact us to learn more.

gmStudio: Upgrade Development Environment

gmStudio is a development environment for building custom VB6/ASP/COM to .NET upgrade solutions. We are always improving gmStudio so that it is more helpful and easier to use. This distribution contains the latest build of gmStudio which includes several enhancements:

  • Corrects a problem with Trial License blocking code generation for small projects
  • Improves Upgrade Project Wizard output folder selection
  • Improves Translation Log Report to include additional type of warnings

Sample Upgrade Solutions

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 and conventions. All samples now target VS2013 although you may easily modify them to target VS2010 or VS2015.

gmBasic: Upgrade Engine

gmBasic is a programming language processor that reads, interprets, and rewrites VB6/ASP/COM for .NET (as C# or VB.NET). We are always improving gmBasic so that it is more flexible and produces cleaner, more correct .NET code. This distribution contains Version 30.22 of the upgrade engine and metalanguage files which includes several enhancements:

  • Adds new InitializeComponent event allowing users to modify Form/Control constructors using gmSL script
  • Improves handling of trailing whitespace in ASP Render functions
  • Improves handling of embedded double quotes in ComboBox/ListBox Item data
  • Improves handling of controls that require BeginInit/EndInit in designer code
  • Improves Analytics Symbols Report to indicate method arguments have object type "Parameter"
  • Begins adding a VMS COBOL/DCL to C# upgrade feature. Please contact us if you are interested in learning more.

gmStudio: Upgrade Development Environment

gmStudio is a development environment for building custom VB6/ASP/COM to .NET upgrade solutions. We are always improving gmStudio so that it is more helpful and easier to use. This distribution contains the latest build of gmStudio which includes several enhancements:

  • Adds support for updating the project MetaLang file as a batch operation. Learn more here.
  • Improves error handling during generation of Interface Description Files from COM binaries
  • Improves Upgrade Project Wizard user experience and results reporting
  • Adds support for regex group values in Custom Search Reporting templates
  • Adds Unique Text option for all Search reports
  • Adds multi-line regex option for Source Search reports
  • Improves recognizing GUI files both by type in the VBP and file extension for Source Search reports
  • Corrects Source Scan Report to indicate location of matches in the declaration section
  • Improves IDF Scan Report to indicate fully qualified name of interface elements
  • Improves Translation Log Report to simplify source text field

Sample Upgrade Rules

gmStudio ships with a collection of sample upgrade rules that add advanced upgrade features, such as custom COM replacement and diagnostic instrumentation, to your upgrade solution. These XML documents and gmSL scripts are distributed as source and you may modify them to fit your unique requirements. This distribution contains the latest set of sample rules files which includes several improvements and additions:

  • Improves upgrading Windows Common Controls (MSCOMCtlLib) to WinForms controls
  • Improves upgrading Windows Common Controls (MSCOMCtl2) to WinForms controls
  • Improves source code instrumentation scripts
  • Adds upgrading Apex TDBGrid to ComponentOne TrueDBGrid Grid
  • Adds upgrading Apex XArrayDBObject to C# wrapper class
  • Adds upgrading ADODB to System.Date with SQLClient
  • Adds upgrading ADODB to System.Date with ODBCClient
  • Adds upgrading Sheridan ActiveListBar Control to a WinForms ListBar control
  • Adds upgrading Sheridan ActiveThreed Plus SSPanel to a WinForms GroupBox control
  • Adds upgrading DataDynamics ActiveReports 2.0 to GrapeCity ActiveReports 8.0

Sample Upgrade Solutions

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 and conventions. All samples now target VS2013 although you may easily modify them to target VS2010 or VS2015.

gmBasic: Upgrade Engine

The latest gmBasic distribution, (Version 30.15) includes the following fixes and enhancements:

  • Improves setting up Forms Designer Code for controls requiring ISupportInitialize

gmStudio: Upgrade Development Environment

This gmStudio distribution includes the following bug fixes and improvements:

  • Improves sample command script for running gmStudio on the command line (See settings\RunGmStudio.cmd) Learn more here.
  • Adds /Filter command line option to allow restricting batch processing to specific project tasks. 

gmBasic: Upgrade Engine

gmBasic is a programming language processor that reads, interprets, and rewrites VB6/ASP/COM as .NET code (C# or VB.NET). We are always improving gmBasic so that it is more flexible and produces cleaner, more correct .NET code.

This distribution includes Version 30.15 of the upgrade engine and metalanguage files with several enhancements: 

  • Improves the Refactor/Overload command allow overloading arguments for up to 16 different types
  • Improves the Refactor/Overload command allow overloading arguments for external COM types and locally-defined classes
  • Improves handling of User-Defined Collection classes and foreach loops
  • Improves late calls to properties and methods using a dynamic referent (C#)
  • Improves upgrading With statement when the With variable of an element in a array of user-defined type
  • Improves naming of WithTemp variables for upgraded With statement
  • Improves declaration of public "assign only" properties with parameters in IDF files.
  • Improves upgrading of custom event handlers to use the sender, eventArgs convention.
  • Improves propagation of generic collection types and through IDFs
  • Adds support for nested generic collection types (e.g. Dictionary<K,V> where T = List<V>)
  • Allows inference of generic collection types for Scripting.Dictionary based on setter and exists operations; requires <Collections TypeFromSetter="on" /> and <Collections TypeFromExists="on"/> respectively
  • Allows reporting generic collection results as script commands to a file using <Collections report="path" /> or to the translation log using <Collections report="on" />

gmStudio: Upgrade Development Environment

This distribution of gmStudio includes several enhancements:

  • Adds support for running a functional tests as a batch operation. Learn more here.
  • Corrects a problem with parsing regular expressions for the Target Code Scan Report
  • Improves batch processing by ensuring the working directory is the same directory as the active upgrade project file.
  • Improves Custom Location handling on the Search Panel
  • Improves the <InLine> command to allow in-lining a block of gmSL
  • Adds a Tooltip on the Batch button to display current list of batch operations
  • Improves storing user settings MaxSessionLines and Project Folder
  • Improves case-insensitivity for translation script parser
  • Improves custom file comparison using DiffFiles.cmd batch script sample
  • Adds reporting workspace repair during the Check Environment operation
  • Standardize titles of information panels and project reports
  • Favors user-specified text editor for .XML and .LOG files
  • Improves ASP Site Translation Script generation
  • Adds settings\RunGmStudio.cmd, a sample command script for running gmStudio on the command line 

Historical Release Notes

The content below began as an informal log of gmStudio development activities.

01/23/2013 public release

gmBasic 10.04.B2
[+] Additional gmSL enhancements (see new documentation on gmNI\ServiceClasses\StoreServiceClass)
MetaLang
Changed:
support\trancfg\lang\GMSLANG.XML
support\trancfg\lang\OPCODES.XML
support\trancfg\lang\TEXTCODE.XML
support\trancfg\lang\TYPES.XML
support\trancfg\lang\enumerations.xml
support\trancfg\lang\VB7Lang.xml
Added
support\trancfg\lang\AspAuthor.xml
support\trancfg\lang\SharedFile.xml
support\trancfg\lang\Utility.xml

01/12/2013 public release

gmBasic 10.04.B1
[+] Major gmSL upgrade -- requires change to Mscomctl.ocx.xml migClass scripts
[+] Updates to custom Mscomctl.ocx.xml script
[+] Fixes to TreeView migration dll.
[!] fix select/case missing break in switch

gmStudio
[+] Minor changes to directory listing used in Help/About
MetaLang
Changed
support\trancfg\idf\MigrationSupport.dll.xml
support\trancfg\lang\AUDITVBI.XML
support\trancfg\lang\enumerations.xml
support\trancfg\lang\GMSLANG.XML
support\trancfg\lang\OPCODES.XML
support\trancfg\lang\TEXTCODE.XML
support\trancfg\lang\TOOLLANG.XML
support\trancfg\lang\TYPES.XML
support\trancfg\lang\vbmethods.xml

01/27/2012 public release

gmStudio
[!] fix and problem with reporting spurious errors based on return code from external processes

01/20/2012 dev release

gmStudio
[!] fix and simplify genInterop conventions to use project folder
[!] fix problem with parsing PROGID tags in ASP reference analysis
[!] fix for ASP progid tags on reference reports
installer
[+] Move GenInterop files to settings folder, remove support\GenInterop folder

01/19/2012 public release
[+] change custom search option to read 'Custom' on the UI
[!] on more fix fix for custom search option
[R] minor refactoring

01/16/2012 public release

gmStudio
[!] changes needed for modified search option

01/14/2012 dev release

gmBasic 10.03B8
[!] fix for byref optimization

gmStudio
[+] updated migrationSupport.dll.xml::printer.port type=string
[!] modified search option to allow multiple search specs as a seicolon delimited list
[!] modified Iser Search to include *.xml;*.config;*.cmd

01/11/2012 public release

gmBasic 10.03B7
[+] 64-bit compatible code; but still doing 32-bit build

gmStudio
[+] modified search option to allow multiple search specs as a seicolon delimited list
[+] modified Iser Search to include *.xml;*.config;*.cmd
dev release 11/01/2012

gmBasic] 10.03B6
[+] Additional CallByName refactoring capabilities
dev release 10/28/2012

gmBasic] 10.03B5
[+] Additional CallByName refactoring

gmStudio
[+] modified code changes report differences counting logic;
[+] modified code changes report command line
[!] corrected task type and file type for CUSTOM migration tasks in job structure report
[+] made command line operation a licensed feature (user=special, or AllowVPC is set in license)

10/10/2012 public release

gmBasic 10.03B4
[+] Call By Name refactoring
[+] Refactor/Remove Struct
[+] FindCallByNames report
[+] New Forms Initialization Feature (MigrationSupportUI=off|on)
[!] Correct stub class authoring issue -- missnig event handler elements

gmStudio
[!] correct issue with joining multi-line statement for static analysis reports
[!] correct reporting of '~' search pattern in source scan reports
[+] Add file timestamp data to snapshot files
[+] Make Configuration Files the default tab on teh Settings dialog
[+] Modify Configuration Files tab to simpify setup and use of custom metalang files
[+] Modify User Defaults tab to allow saving setting batch UI

Resx Factory
[!] Add support for ComCtlLib.ImageList (Common Controls 5.0)

08/29/2012 public release

gmBasic 100.02 final
[R] New expression processor
[!] Various fixes and enhancements to script commands Fixtype/ Fix

08/26/2012 dev release

gmStudio
[+] Task Filter Dialog Enhancements -- set focus to SrcName, added ShortCutKeys for command buttons
[+] Additional hot keys on task context menu
[+] Standardizing session log / LastMsg field content and format for key operations

08/20/2012 public release

gmStudio
[!] Minor tweak to IDF scan report to allow for events
[!] Correction to logic to setup batch processing operation list
[+] UI Cleanup: standard look for checkboxes

08/16/2012 dev release

gmStudio
[!] fixed problem with translation script being duplicated in consolidated snapshot files
[+] reworked shortcut keys for application menus
[+] reworked default keys on Filter and Batch Settings dialogs

08/14/2012 dev release

gmBasic 10.02B9 (FKG+ modified textCode.C for ProjectReferences handling)
[+] Added <Fix@filefilter as a script-level command
[+] Continued progress on new expression processor

gmStudio
[+] Enhanced external process checking to report/capture process exit codes as well as inspecting logs
[+] Added <Fix as a script-level command to fix code bundles
[+] Added Target Code Changes Report
[+] Added Snapshot Compare as a batch task and a operation from task context
[+] Modified Snapshot function to backup separate files in the snapshot folder rather than combining them
[R] Removed Create Build Set from Tools Menu (as it has been replaced by the GlobalStubs approach)
[R] Reworked Reporting Menu item names: replace control array names with logical naming

08/07/2012 dev release

gmBasic 10.02B8 from FKG + fixes for ProjectRefernces, error handling needs, and Decimal to Char)
[+] Select ShowVerticalLists
[+] SharedFiles Enhancements
[+] type=Dynamic Enhancements
[+] Select ProjectReference
[+] Work in progress on new expression processor
[R] Change VBP migration to that csproj/vbproj name is based on internal VB6 Namespace

gmStudio
[R] Change VBP migration to that csproj/vbproj name is based on the internal VB6 Namespace, not the VBP filename

gmStudio Install
[+] Slimmed down installation in preparation for gmStudio SDK changes
** Most of the migration dlls removed other than ones needed for samples (scrrun, mscomctl)
** Most refactoring IDFs and mig files moved to extras\RefactorLibrary so they do not 'accidentally' influence OOTB migrations.

07/05/2012 dev release
[+] added LIBREF and REACTOR records to TranLog report and filters
[+] Modified Source Members report to not limit lines to 512 bytes
[+] Modified prep for excel routine to allow up to 2048 characgters per cell
[!] Fixed Help/About to display in details panel even if other panel is open

06/26/2012 public release

gmBasic 10.01 (with Shared_FindReferences call commented out off)

06/24/2012 dev release

gmStudio
[+] optimized source scan by reducing processing of files excluded per the filter

06/17/2012 dev release

gmBasic 10.00b8
gmStudio
[+] select additions and changes to language config files

06/16/2012 dev release

gmBasic 10.00b7(+)
[+] mscomctl migration dll: improved handling of treeview node.add
[+] modified to add appObject attribute to shared modules

gmStudio
[!] corrected handling of custom language VBIs for analytics reporting and order reports
[+] Added Alt-D hot-key batch deploy
[+] Added Alt-T hot-key batch translation

06/11/2012 dev release

gmBasic 10.00b7
[+] Improved handling of HTML event attributes
[+] Additional progress with VBS to JavaScript translation

gmStudio
[+] Added translation log report filtering (See gmStudio.cfg:TranLogFilter)
[+] Enhanced source search to support found count in each file if search string begins with #
[+] Enhanced generic text file search to support found count in each file if search string begins with #
[+] Enhanced generic text file search to support reporting files that do not contain the search string if string begins with ~
[+] Enhanced bundle file search to support found count in each file if search string begins with #
[+] Enhanced bundle file search to support reporting files that do not contain the search string if string begins with ~
[+] Enhanced IDF report to allow for nested enums and structs

05/31/2012 Public Release

gmBasic 10.00b3
[+] Begining work on VBS to JavaScript translation

gmStudio
[+] Report exceptions from the [Migration Project Setup] form to the session panel/log.

05/29/2012 Dev Release

gmStudio
[+] Fix to allow multiple <replace> blocks to be applied in one pass usin replacement search
[+] Minor cosmetic and UX improvements on config form
[+] Add option to include FromCode IDFs in task snapshot and activated in default gmStudio.cfg

05/26/2012 dev release

gmBasic 10.00b2
[+] numerous ASP enhancements, GlobalIncludes, UsesControls mode
[+] Fixes for usesInterfaces
[+] Definitions report changed to only report symbols defined in host VBP and a few other cosmetic matters

gmStudio
[+] Fix to find the gmProj file from the app config form even if gmProj specifies incorrect project folder.
[+] Added support for <InLine< script command like <Include but copies incline content into actual script -- allows detokenizig includes
[+] Allow replace@status="regexs" matches sets option regex SingleLine on
[+] Improve repalcement search to preserve repalcements subfolders structure relative to search root folder
[+] Added support for custom search mode if Files box contains Director|FileSpec (also supports replacement)
[+] Remove elapsed time display in progress bar; not working
[+] Add detokenizer to analyticts report script processor -- allows custom reporting DLLs
[!] Correction to locName in IDF report

05/16/2012 public release
[+] Modifiy deploypath logic to look for templates.xml in userfolder, userfolder/lang, and then metalangfoler

05/11/2012 dev release

gmBasic V10.00
[+] csh40lang.dll: Dim As New
[+] ServiceClass.dll: fix buffer overflow
[+] If DesignerMode test added to core tool and removed from TextCode
[+] Changed Project guid logic to user gmSL Guid function rather than passing it into method

gmStudio
[+] Enhanced Help/About to show information about binaries in tools folder
[+] Modifiy deploypath logic to look for templates.xml in userfolder, settingsfolder, and then metalangfoler

04/18/2012 dev release

gmStudio
[+] Keep a save user copy of codescan.txt in user folder
[+] Add filter to Config Files list
[!] Correct problem with Save as on Settings screen

04/17/2012 dev release

gmStudio
[+] Better support for local metalang when creating custom vb7lang.vbi
[+] Using gmBasic Startup file when present to allow custom vb7lang.vbi
[+] Installation change: support\metalang into support\trancfg\idf and support\trancfg\lang.
This is more consistent with gmBasic deployment and differentiates pre-compiled config (lang) from
config that is ready at translation time (idf).
[+] Stopped making a backup copy of system config files in SpecialFolder.AppData; now only gmStudio.cfg is copied.
[+] New Settings Screen
integrated all config file editors into a single config files tab
support for copy to user folder
other UI tweaks -- modeless, dynamic layout takes advantage of wide screen
remove settings for app-data folder

4/10/2012 public release

gmBasic 10.00b8
gmStudio
[+] removed special handling for computing asmStat for VBRUN and VBA

04/03/2012 public release

gmStudio
[+] Simplified support for user-specific language config and file templates
[+] Upgrade User search to include subdirectories
[+] Changed default for standard translations to Configruation=Debug (gmStudio.cfg)

04/02/2012 dev release

gmBasic 10.00b7
[+] fix for oneliner property/sub definition
[!] Fix for refactor/migrate@status

gmStudio
[+] Upgrade IDF reporter LocName and LocType details

03/30/2012 dev release

gmBasic 10.00b6
[!] Fix for RESX file match logic
[+] Migration of MousePointer to Cursor migration
[+] Addition of ProjectGUID to csproj/vbproj files
[+] ASP Improvements'
[+] Stateful modules miration
[+] GlobalSettings enhancements for alternative refactoring and editing capabilities
[+] Fix to allow reuse of property bag values in the same migclass

gmStudio
[+] Allow for BuildFile=Off in Tscript (equivalent to local)
[+] Improved reporting of .NET buld logs
[+] Improved handling of CUSTOM and MULTI source migration tasks
[+] Improved UI for Replacement mode search
[!] Fix for resolving include file path begining with a '\'
[R] Simplify overlap and confustion with MigType vs JobType.

03/18/2012 Dev Release

gmBasic 10.00b5
[+] Improved WCF support

gmStudio
[+] Selected Counter on jobDetails form
[+] Include source code text in Net Build log reports
[+] Allow exclusion of tasks from build order report if there is a '!' in SrcOrder field
[!] Prevent adding custom tasks from changing MigType

03/14/2012 dev release

gmBasic V10.00B3
[+] Minor changes to improve SharedFiles=on

gmStudio
[+] Added Replacement feature to the search panel
[+] Changed Search panel to use a splitter control
[+] Added logic to write stack trace to session log when an exception bubbles up to the UI
[+] Added global stubs script generator to report menu (hidden unless User=Special)
[+] Added better support for Custom build type
[!] Fix to allow bypassing malformed XML in custom job scripts
[!] Fix problem with file cache trying to monitor non-absolute filepath

02/28/2012 dev release

gmStudio
[+] improve exception handling for stucture reporting

02/26/2012 dev release

gmBasic V1000.b2
[+] Allow gmSL overrides in GlobalSettings
[+] Improved support for integrated builds (BuildFile=global)
[+] Support for WCF WebService project generation
[+] Various modifications to improve correctness of translations

gmStudio
[+] GlobalStubs report to generate script and add script to project
[+] Additional variables passed to user batch commands to facilitate custom migraiton tasks
[R] Merge in Enhancements 02/20 from Aaron Stemens

02/21/2012 dev release

gmStudio
[+] correction to setting %ProjFolder% in UserBatch scripts

02/20/2012 dev release
gStudio -- enhancements from Aaron
[+] Updated gmStudio to use XML configuration information from gmBasic. The only information currently being used is the DeployLocation and GlobalDeploy patterns for deploying migrated code.
[+] Added caching of the translation script in memory for use between migration tasks. No need to read the text from file for every migration when it doesn't typically change between migrations.
[+] Began making architectural changes with the code organization. Also started renaming types and members so that they're more explicit and the purpose is easier to understand.

02/19/2012 dev release

gmStudio
[+] Translation Log reporting and display Enhancements
[+] Ctrl-C / shift-Ctrl-C enhancement for task list

02/15/2012 dev release

gmStudio
[!] ResxFactory fixes
1) we were not processing MDIForms files properly.
2) we were not looking for image FRX addresses with more than 4 characters.
3) Not accounting for parsing Images with an Object.Tag property.
[+] Modified ResxFacotry to only create driectories if it will write resx files
[+] addition resxFactory reporting

02/13/2012 dev

gmBasic V0995.0
[+] Implemented GlobalStubs and SharedFiles features to allow integrated builds
[+] Made various modifications to improve the quality of translations

gmStuidio
[+] Modified "LeanReports" setting to exclude self-references (same class)

02/09/2012 (public release)

gmStudio
[+] Improved progress tracking and exception reporting for ResxFactory

02/04/2012 (dev)

gmStudio
[+] Added deploy script and deploy log toe the All Logs report
[+] Added deployment script to the Information / Deploy panel
[+] Added support for authoring SrcName as a variable in deployment scripts
The full set of varaibles is:
"%JobId%",JobID);
"%JobName%", fld_SrcName); // deprecated
"%SrcName%", fld_SrcName);
"%TaskTag%",fld_TaskTag);
"%NetProjFolder%",NetProjFolder);
"%ProjFolder%", mConfig.migCfg.ProjFolder);
"%UserFolder%", mConfig.UserFolder);
"%VirtualRoot%",mConfig.migCfg.VirtualRoot);
"%InteropFolder%",mConfig.TlbImpFolder);
"%SrcPath%",SRCProjPath);
"%DeployFolder%",mConfig.migCfg.DeployFolder);
"%SrcFolder%",fld_SrcFldr);
"%Dialect%",fld_NetLang);
"%MigName%",fld_MigName);
"%IdfFromIdlFolder%",mConfig.IdfFromIDLFolder);
"%DevEnv%",mConfig.migCfg.DevEnv);
"%BndPath%",bndPath);
"%ResxFolder%", resxFolder);
"%TaskTag%", fld_TaskTag);

01/30/2012 dev release

gmStudio
[+] Improved referece reporting for ProgID-based references

01/29/2012 dev release

gmBasic V09925B5
[+] Made various modifications to improve the quality or C# and VBN translations (HMXVision_VB6)
[+] Added a flag AddDefaultProperties="On/Off". Its default is Off.
[+] Began work on new Global Stubs conventions
[+] Added BuildFile="Local|Global"
[+] Added LPLibMigration.dll
[+] Added UsesInterfaces command to break circular references
[-] Deprecated BuildFile="on|off"; ImportsGlobal="on|off"

gmStudio
[+] Added Copy Error info for the translation log grid
Configuration
[+] Added support form migrating Align to AlignConstants

01/11/2012 Release

gmBasic V09925B2
[!] removed debug message for color constants

gmStudio
[+] Standardize source reference report to show REF_PROGID for PROGID references
[+] A few more tweaks on the Project Setup form

01/09/2012 Release

gmBasic V0995B2
[+] New migration for Class_INitialize and Class_Terminate
[+] New migration for Dispose pattern
[+] New 'word_migname' convention for reserved words

gmStudio
[+] Add support for user-defined task types and custom translation scripts
[+] Improved handling of variable ProgIDs in reference analysis
[+] Add MemLibr=SrcNamne and MemClas=FileType to Log search report
[+] Change conventions to place gmProj file in the migration workspace
[+] Add Toggle Fields menu to Search results Grid
[!] Correct problem with '_' being saved as blank in migration project names
[!] Correct Translation Log report to be consistent with gmBasic message syntax
[!] Correct generation of IDFs for typelib submodules

02/31/2011 Release

gmBasic V0995B1
[!] corrected vbcontrols.xml:TextAlign

02/30/2011 Release

gmBasic V0995B1
[+] Various modifications to improve quality of generated codes
[+] Generalize tool to allow processing of Template scripts files and script include files
[+] Added Basic language items to Analytics References report
[+] Various improvement to facilitate fix@host
[+] Addition of GlobalSettings file for UsesOverloads support
[+] Additional capabilities to repalce circular references with interface references
[+] Cleanup unused items from stub classes
[+] Add references to libraries added for late refrences
[+] Report Refactoring operations in the log file

gmStudio
[+] Add support for filtering tasks during batch processing
[+] Turn off session logging wait time during batch processing
[+] Optimized script processing to not compute ReferenceList unless needed
[+] Add support to Allow running on VPC per a license file setting
[+] Allow COM references data to reflect the standard lib file name even if a refactor library is in use.
[+] Add error handler for exceptions in loading the content of a folder
[!] Correct problem with main form being hidden when leaving filter form
[!] Remove calls to dlsTime function on some time stamps

01/12/2011 Release

gmBasic 
[+] V0994B4
[+] Initial release of Client-Side VBS to JavaScript
[+] Addition work on ByRef Optimization
[+] Additional performance improvements for projects that ue many large internal COM componetns.
[+] ADO Migration DLL
[+] Modified refactor commands to match on terminal part of multi-part ID

gmStudio
[+] Enhanced filter dialog to allow setting patterns from search list and task list selections
[+] Modified user config sync for a new release to preserve user defaults
[+] Added TaskTag as a meta-variable to Tscript and user batch command script
[+] Enhanced COM Refs and All IDF Search to allow filtering results to file name pattern
[+] Added logic to compute and report check sum in member report
[+] Improved performance of loading listviews by suspending sorting during load
[+] Added _MEMBERS_ and _GUI_FULL_ meta searches to the search panel
[!] Corrected problem with right/left justification in listviews

10/20/2011 Release

gmBasic V0993
[+] Begin Client-Side VBS to JavaScript
[+] ByRef Optimization

gmStudio
[+] Added File/Close function
[+] Improved logic to enable/disable UI
[+] Improved gmStudio.cfg settings to allow integrating a Web BuildSet that integrates with a VB6 BuildSet
[+] Added a call to Reset task status at start of the BuildSet process
[+] Added cml and log from translating ImportsGlobal_lang.xml into the consolidated BuildSet log
[+] Modified Net build log so that the project path does not show up in the message text
[!] Fixed problem with duplicating elements in the ReferenceList authored to translation scripts
[R] Standardized namespaces used for Migration Support DataLib

10/04/2011 Release

gmBasic V0993B4
[+] Reduced the amount of content in authorLib IDFs to public interfaces only this makes VBI files smaller and speeds up load time
[+] Additional work on type inference for object
[+] Various improvements for accuracy of translation
[+] Began work on CheckBuildFile.dll
[+] Improved functionality of registry-libname to resolve classes in CreateObject

gmStudio
[+] Added the errors/warnings to the .NET build LastMsg
[+] Switched to new using Externals report for references -- including GUI reports
[+] Added support for SymbolsReport using separate template (rtp.sym.xml)
[+] Added logic to interpted HTML escape sequenes in Tscript so that they do not interfer with DOM validation
[!] Added error trap on copy to clipboard from details grids
[!] Added error trap for trying to open a missing file from search list
[!] Correct problem with trial not fully expiring after session limit
[R] Remove hardware ID from About report -- does not match register form (?)
[R] Changed RecordsAffected to RecordCount
[R] Removed VB.Compatibility from reference list

09/13/2011 Release

gmStudio
[+] Report Version Configuration Date on Help/About
[!] Fix and enhance GUI Scan report

09/09/2011 Release

gmBasic
[+] Upgraded translation engine and system configuration: gmBasic.exe V0993B2
[+] Various fixes to improve correctness of translations
[+] Change CheckMultiSet=on to infer types of variables explicitly declared as Object
[+] Add Refactor/Fixtype status="ObjectOnly" to suppress strong typing
[+] Implement support for refactoring extensions to IDFs
[+] Add support for new Externals report (V1.0)
[+] Add support for new reporting DLL (V1.0)

gmStudio
[+] Report hardware ID on Help/About
[+] Report license start date on Help/About
[+] Modified lastmsg=.NET Build to include error and warning count
[!] fix to use open instead of save behavior when opening a search results file
[!] fix search file filter to correctly handle wild cards in path
[!] refined reference reporting for #include files
[R] removed all references to minutes remaining in licensing
[R] use new DataLib classes (faster)
Migration Support
[+] Improved Recordset implementation (added NextRecordset, improved behavior of fields collection)
[+] Improved performance of recordset
[+] Added test harness for DataLib
Licensing
[R] Changed to not use MAC address as part of hardware ID calculation
Extras
[+] Added a set fo refactoring IDF sample files.
[R] Satelite Refactor Libraries files (mig.comfile.dll.xml) are deprecated.

08/03/2011 Release

gmBasic
[+] Upgraded translation engine and system configuration: gmBasic.exe V0992B7
[+] Various fixes to improve correctness of translations

gmStudio
[+] Enhanced search panel
Added log files search
Added loading and researching a previously saved search resutls file
Added file name filtering
Improved performance of loading search results
Improved logic to allow cancelling search
Improved progress tracking on target code search
[+] Removed lines of code feature from registeration form

07/26/2011 Release

gmBasic
[+] Upgraded translation engine and system configuration: gmBasic.exe V0992B6
[+] Various fixes to improve correctness of translations

gmStudio
[+] Added /logstartup to allow logging startup process to a file for troubleshooting
[+] Enhanced Context Menus for all grids in the details panel
Copy Error Info from .NET Build Logs
Copy Text Only from Search Results
[+] Rename old *.license files to *.old when installing a license
[+] Improved error handling when trying to create a migration workspace on a missing drive
Configuration
[+] Fully Qualified System.Windows.Forms.Application class in migration patterns
[+] Removed VisualBasic.Compatability from all migration patterns except FileListBox, DriveListBox, FolderListBox

07/07/2011 Release

gmBasic
[+] Upgraded translation engine: gmBasic.exe V0992B3
[+] Various fixes to improve correctness of translations
[+] Added Select RuntimeConditional=off|on to rewrite conditional compilation as runtime checks

gmStudio
[!] Minor UI fix to show turn off grid when showing [Help/Check Environment] or [Help/About]
[R] Refactored edit text file logic
Configuration
[+] Set default editor to notepad

06/21/2011 Release

gmBasic
[+] Upgraded translation engine: gmBasic.exe V0991

gmStudio
[+] Improved handling of select/all and copy for text boxes on main form

06/17/2011 Release

gmBasic
[+] Upgraded translation engine: gmBasic.exe V0991B7

gmStudio
[+] Improved handling for DevEnv=VS2010 settings in project file
[+] Changed Edit Source for includes to use user-defined editor instead of shell
[R] Simplified logic to track default folder for storing migration project files (.gmProj)
[R] Simplified logic that adds project tracking data to .NET build log
[R] Simplified main text file IO routine
[R] Removed dead code: toHex()
Configuration
[+] Modified config file to set default DevEnv=VS2010
[+] Simplified sample commands in UserCmd.cmd template

05/31/2011 Release

gmBasic
[+] Upgraded translation engine: gmBasic.exe V0991B6
[+] Added ability to run a translation in separate steps; e.g. this allows pre-loading references, or doing only the author step
[+] Reduced runtime for very large codes by 30%-70%

gmStudio
[+] Add Select/Copy context menu to rich text boxes on the main form
[+] Add dialog to ask user if they are sure they want to exit trial sessions.
[+] Improved and standardized support for logging external processes
[+] Added support for Pre-Translation user commands
[+] Added error checking and reporting to SetEnv.cmd
[+] Moved SetEnv.cmd to user's Settings Folder
[+] Added logic to take user to the settings screen if text editor is not set
[+] Changed default config so that no editor is setup
[+] Standardize logic that runs the file/folder comparison tool (fix for paths containing blanks)
[R] Simplify trial license logic

05/24/2011 Release

gmStudio
[!] Correct logic to sync up user's copy of application configuration files
Samples
[+] Modified sample batch scripts to assume default app config file locations

05/22/2011 Release

gmBasic
[+] Upgraded translation engine: gmBasic.exe V0991B4
[!] corrected matter with buffer overflow on deployment paths longer then 128 bytes

gmStudio
[!] Correct code scan logic to include last line of files being scanned
Configuration
[+] Add sample mig.comdlg32.ocx.xml
[+] Update sample mig.msxml6.ocx.xml
Samples
[+] Now using VS2010
[+] Reworked runall.cmd and run1set.cmd to be more robust
[+] Removed ScanTool interop and prototype samples; completed all .NET migration of ScanTool
[+] Removed Interop FileExplorer samples
[+] Modified sample batch scripts to assume default installation paths

04/28/2011 Release

gmBasic
[+] Upgraded translation engine: gmBasic.exe V0991B4
[+] Additional progress on gmSL framework and configuration language
[+] Started work to allow translation of client-side VBScript to Javascript in ASP
[+] Added Load/Fix command to allow editing of raw code before parsing
[+] Enhanced Author/Fix to allow editing of stub-related content
[+] Improved reporting of Fix commands if <select progress="2"/> is enabled
[+] Separation of deep refactoring logic from core translation engine into separate DLLs
[+] Replacement of user-defined declarative refactoring with gmSL code
[+] Added select UseZeroBased=on to correct translation of files using Option Base 1
[+] Added support for Unicode source files.
[+] Modified behavior of Compile/fix to improve performance on large ASP site scripts
[+] Modified ASP translation so that private members become public unless they were in a VBScript class
[!] Corrected Array dimensions and indexes for VB.NET translations

gmStudio
[+] Improved handling of alternate task panel field layouts
[+] Added log timestamps in the reference details listing
[+] Improved accuracy of source member report for ASP projects
[+] Modified RefStat logic to display ready even if IDL errors are detected
[+] Modified BuildOrder logic to setup more complex Load commands if present in the job script
[+] Removed logic to automatically change internal VBP names if duplicates occur.
[+] Shortened wait period for monitoring external process logs
[+] Added support for VBPs referencing files with non-standard extensions
[+] Modified the AllLogs report to update the TrnStat and NetBlds fields for each task
[+] Modified search results reports to be more compatible with loading into excel
[+] Redesign and rework Migration Setup form UI and behavior
[+] Add Save and Close feature to Batch Control form
[+] Add folder information to Project Summary report
[+] Remove file name the GenText field of Build Log reports (MSBuild 4.0 logs)
[+] Remove automatic tie-breaker logic for duplicate VBP names in the same migration project
[!] Corrected logic to display sessions remaining in the trial rather than days remaining.
[!] Corrected logic to start app by opening a gmProj file in Windows explorer
[!] Corrected logic for reporting #include dependencies in ASP projects
[!] Corrected resolution of relative path names beginning with using '.\'
[!] Corrected time stamp format in All Logs report
[!] Corrected logic that sets/displays DEVENV on the Migration Setup form
[R] Removed obsolete code to save last gmProj path in the gmStudio.cfg file
Migration Support
[+] Changed default CPU architecture to 'AnyCPU' to allow for Win7 64 installations.
[!] Corrected logic that initializes an empty Recordset

03/05/2011 Release

gmStudio
[+] Improved progress feedback for code validation process
[+] Modified default folder paths used by BuildSet process to follow gmStudio standards
[!] Corrected GenInterop file template names
[!] Corrected class value for enumeration entries in the IDF scan report
[!] Corrected false positive #includes dependencies in ASP reference reports
[!] Corrected exception in progress tracking for BuildSet operations
[R] Minor optimizations on foreach loops

02/22/2011 Release

gmBasic
[+] Upgraded translation engine: gmBasic.exe V0990B5
[+] Additional progress on gmSL framework and configuration
[!] Corrected migration of host reference and constructors in ASP/VBScript classes

02/21/2011 Release

gmBasic
[+] Upgraded translation engine: gmBasic.exe V0990B4
[+] Additional progress on gmSL framework and configuration
[+] Added support for Default Function and Default Sub in ASP/VBScript classes
[!] Corrected migration of some #includes to a web UserControl instead of code class
[!] Corrected migration of Property Get in ASP/VBScript classes
[!] Corrected migration of calls to ASP/VBScript class constructors

gmStudio
[+] Improved application behavior when dealing with corruption in gmProj files
[+] Simplified trial limits to be sessions-based only -- not days-based
[+] Improved reporting of enumerations in the IDF Scan report
[+] Improved most-recently-used menu updating to record every gmproj file opened
[!] Corrected problem with omitting same-named #include files from ASP reference report
[!] Corrected problem with checking project size when source size is not numeric

02/10/2011 Release

gmBasic
[+] Upgraded translation engine: gmBasic.exe V0990B3
[+] Additional progress on gmSL framework and configuration
[!] Removed Convert.ToInt32 specific types of calculations

gmStudio
[+] Implemented Author/Fix/Replace@status="regex" that applies regular expression replacements fixes to the bundle file
[+] Modified IDL generator to allow for default values not supported by VB6 -- improved ability to process .NET CCWs

02/02/2011 Release

gmBasic
[+] Upgraded translation engine: gmBasic.exe V0990B2
[+] Additional gmSL Support and use in configuration
[!] Fixed ASP reauthoring HTML attribute tags with embedded string literals
[!] Fixed ASP parsing to handle '<' in logic that authors JavaScript
[!] Fixed ASP parsing to handle VBScript blocks that begin with a comment
[!] Fixed ASP parsing to handle object tags with embedded VBScript

gmStudio
[+] Enhanced trial period to allow for max number of gmStudio sessions as well as number of days
[+] Added single-file compare using diff tool from side-by-side comparison form
[+] Modified app config such that default user language file is mig.VB7lang.cfg
[!] Fixed problem with finding/filtering event handlers on side-by-side comparison form
[!] Fixed problem with error line number in translation log report
Migration Support Library
[+] Added support for RecordSet.Open(Command)
Deployment
[R] moved sample user language config file to extras/refactorlibrary/mig.VB7lang.cfg
[R] removed/added config files to reflect latest gmSL work

01/19/2011 Release

gmBasic
[+] Upgraded translation engine: gmBasic.exe V0989b10
[+] Improved handling of VBScript Classes as independent code classes
[+] Improved handling of Page Interfaces in multi-page scripts
[+] Improved handling of Registry-Dependency when AspCodeClass=on
[+] Improved migration of include files to code classes
[+] Improved handling of include files in subdirectories
[+] Continued implementation of GM Scripting Language (gmSL) syntax and runtime
[+] Replaced TextBlock capability with gmSL-based procedures
[+] Simplified creation of language VBI file
[+] Added language folder instead of language.vbi file as final (fourth) system configuration location
[R] Removed support for AspCodeClass=off
[R] Removed deprecated FixScript command
[R] Removed deprecated load site command

gmStudio
[+] Improved logic that makes a copy of the application config in the user-specified Folder
-- Make sure user's app config files are consistent with version of gmStudio
-- Make a backup of user's app config files and upgrade if version not in sync
[+] Improved Most-recently Used project list logic and MRU menu interface (the last used file is no longer stored in the app config file)
[+] Added progress bar to status bar along with option to see ETC for long running processes
[+] Added cancel button to status bar to allow cancelling long running processes
[+] Improved logic to locate COM files in the TlbSearchPath folders when they cannot be found by other means
[+] Added file timestamps to the "All Logs" report
[+] Improved logic that decides if reference cache files should be updated
[+] Added IDF file scan that searches all IDFs, not just the ones referenced by selected migration tasks
[+] Modified the duplicate VBP name fix to check for read-only files
[+] Updated logic to report when language config is recompiled in the session log
[+] Modified Listviews to reduce flicker on update and load
[+] Modified target code search to also scan and report matches in the deployment commands
[!] Fixed Build Log Inspection crashing on very large (>256K) logs
[!] Fixed Source Order Routine crash on very large (>256K) source order reports
[!] Fixed Search reports to skip comments in thee search term list file
[!] Fixed Source Metrics logic for web files
[!] Fixed problem with capturing translation log on slower machines (Framework 4 change)

Samples
[+] Updated Samples Package to reflect latest conventions

Deployment
[R] Upgraded Samples setup And Deployment project solution to VS2010 / framework V4.0
[R] Improved Packaging Process Logging
[R] Moved "non-standard" refactor libraries into \extras\RefactorLibrary folder
[R] Upgraded mig.mscomctl.xml to gmSL-based version

02/08/2010

gmStudio
Standardized all csproj files on Framework 4.0

02/04/2010

gmBasic
[+] Upgrade to V0989b6
[+] Added <select AspCodeClass=on|off> default = on.
This setting provides an alternative migration of ASP pages that
more accurately preserves legacy application functionality, particularly
for sites with complex #include file configurations. This setting
causes gmBasic to rewrite #include files as code classes rather
than Web UserControls. Markup that was in an #include file (if any)
is converted to .NET code in an Author_Markup method in the
codeclass. The Author_Markup for each include file is called from
the location(s) of the original #include statement(s) of the given file.
The AspCodeClass=on setting also improves the migration of VBScript classes
as a nested class.
[+] Added <Registry Type="FixStatus" source="..." Target="UserControl"/>
that directs the translator to author a #include file as a Web.UserControl.
Markup is retained as markup in the ascx file and the control is
instantiated using a Register directive and a custom tag where
there used to be a #include statement.
[+] Modified the Migrate command to use IDL typedefs when resolving
symbols in a Refactor-Migrate command.
gmStudio
[!] Fixed translation verification to report zero-length bundle as an ABEND.
[+] Add support for VS2010/Framework V4.0 as a target platform.
[+] Added logic to prevent authoring self-refences when replacing
%ReferenceList% in the actual translation script.
[+] Improved algorithm to get libname and search for metadata for COM components in reference reports
[+] Add support for (%= VirtualRoot %) notation
[+] Add logic to report WARN# recorcds in translation log reports
[+] Added LoadControl Stub to MigrationSupport library
[+] Added a feature to facilitate reactivation of a gmStudio license file that
was invalidated due to tampering with the system clock.
[!] Minor correction to composite class names in GUI report
[!] Correct source metrics display to show INCLUDE when job.bld_type is INCLUDE
[R] gmStudio binaries and installation package is now built using
VS2010 and C# 4.0

01/06/2010
gmStudio
[+] Allow user to specify SnapShot content based on SnapShotContent setting in the app config file
[!] Correct issues with ProgId reporting exception
[+] Allow for inconsistencies in presence of volume letter in Virtual root and source folder
[+] Additional VS2010 Work
[+] Add MigrationSupport.Lib.DbNullToValue
[+] Add Toggle Fields: Detail to the Task Context Menu

01/03/2010
gmBasic
[+] Upgrade to V0988
[!] Corrected inconsistencies in use of byref formal and actual arguments in ASP translations
[+] Improved performance of large translation jobs containing many symbols (e.g. codes that reference large COM libraries)
[!] Some corrections to includeCodeClass=on translations (still a work in progress, probably another 2-4 weeks out)
[+] Added support for enhanced GM scripting language and object model (still a work in progress)

gmStudio
[+] Improve UI feedback during rebuild IDF
[+] Improved support for complex ProgID expressions in CreateObject
[+] Improved support for IDFs that do not contain any classes (e.g., enums only)
[+] Optimized rebuild IDFs to not update IDFcache every time a component is processed.
[+] Add logic to identify IDFs with errors in the Source Reference report
[+] Improved handling of missing translation scripts
[+] Added .NET build logs to Snapshot files
[+] Added support for VS2010/Framework v4.0 (still a work in progress, will be in next release)
[+] Added some migration rules in mig.msado27.tlb.xml
[+] Added some migration rules in mig.msflexgrid.dll.xml
[+] Changed migration rules for VB6 intrinsic App.GetEXEName to avoid VB6 compatibility assembly
[+] Modified IDL/IDF generation to prevent __MIDL struct and union names
[R] Cleaned up the config file with respect to IAF generation
[R] Added support for MigrationSupport.RecordSet.Clear
[R] Removed VS2003 support and obsolete config file vars
[R] Removed integration with OLEView for IDL viewing
[R] Added logic to recreate VBI during packaging process

10/28/2010

gmBasic
[+] Upgrade to V0988b3
[!] improve inconsistencies in use of byref formal and actual arguments in ASP translations
[+] added select AcceptByRef=off|on -- on accepts the retains byref in code even if not needed.

gmStudio
[+] improved performance of reference reporting and source validation processes
[!] fixed a problem with opening .NET source file from .NET build log error click event
[+] modified IDL/IDF generation to prevent volatile __MIDL enum names
[+] added logic to account for registry-libname entries in job script during reference processing
[R] simplified exception messages
[R] implemented gmStudioTest.csproj to allow for performance analysis

10/17/2010

gmBasic: Upgrade to V0988b2
[+] add the (includeCodeClasses=on) ability to author includes as code classes; this is work in progress
[+] add the (typeInference=on) ability to generate a comprehensive type inference file that allows the tool do a better job of infering variant types
[+] add the (registry-dependency) ability to specify include file dependencies in a standardize how they are ordered and combined across all pages in the site.
[+] Other small fixes and enhancements to improve the correctness and readability of ASP translations.

gmStudio
[+] add the ability to throttle down session logging, this was slowing processing when the log content became huge
[+] set Initial Directory for Author Inteface Files... open dialog to the 1st folder in TlbSearchPath
[+] enhanced source member report to identifier event handlers
[+] enhanced reference detection for VBPs to include libraries needed for ProgIds in CreateObject
[+] enhanced reference detection for VBPs to include libraries needed for script references
[+] enhanced reference reporting to show if reference source was CreateObject or script
[+] enhanced FileExist utility to timeout on missing UNC paths
[!] fixed logic that was causing some imports for unregistered COM components references to be missed
[R] refactored code analaysis functions into their own class
[R] remove cast to int for Field indexer -- it takes an enum so cast was not needed

09/27/2010
gmStudio
[+] fine tune form resizing
[+] add mig.vbscript_3.dll.xml to metalang
[!] correct deployment of metalang files

09/24/2010

gmBasic: Upgrade to V0988b1 (some highlights since V0986)
[+] Improved handling of BuildFile=on/ImportsGlobal=off when using local IDFs
[+] Improved handling of BuildFile=on for web projects
[+] Addition of simple Server-side JScript translation capability
[+] Handle ASP filenames containing special characters by replacement with '_'
[+] Improved translation of ASP render functions with complex string expressions
[+] Improved type inference and experimental addition of select TypeInferences=on
[+] Increased bias towards ByVal arguments and more consistent use of ByRef/ByVal
[+] Improved support for extended character sets in ASP
[+] Several dozen translation quality improvements with particular emphasis on build-correctness of VB.NET

gmStudio
[!] fix error when site script references IDFs that are not present in IDF folder
[+] Added UserCmds list to project summary report
[+] Block recalculation of project summary when task selection changes
[+] Made the TLI_ERROR reporting more robust and allow more imports to get into the IDLs and keep them valid for processing to IDFs.
[+] Additional migrations in mib.MSWinsock.ocx.xml to correct event/property name clashes.
[+] Change cursor to NSSize when position is between task list and details pane
[+] Task List dblCLick opens translation script if there is an XML error in LastMsg
[+] Added MigrationSupport.Lib.RedimPreserve2<T[][]>
[R] turn off task colorizing because not redrawing properly after mouse-over
[R] removed unneeded usings

09/10/2010
gmStudio
[+] added support for dispatchable attribute in IDLgenerator
[-] removed dead logic to delete icos from install dir from installer.cs
[+] made gmStudioLib and gmStudio classes internal
[+] added InternalsVisibleTo attrib so that only gmStudio can access gmStudioLib
[+] added logic to colorize TrnStat, RefStat, and NetBlds fields
[+] added logic to not refresh project summary when task selection changes
[+] modifed CheckEnvironment report to use logical names
[+] added edit %UserFolder% to user command batch
[-] changed GenExternFolder to use %DeployFolder%
[!] fixed text scan reporter to process multiple search terms

08/30/2010
gmStudio
[+] Upgrade to V0987B8 System Build(8/30/2010 13:26:57)
[!] Fixed logic to compure location of search match in IDFSCan
[+] Allow editing migName after creating gmproj
[+] Report command line switches in the translation log at %CommandLineSwitches% placeholder
[+] Deprecate %job_references_template% placeholder; rename to %ReferenceList%
8/19/2010
[+] Upgrade to V0987B6 System Build(8/17/2010 9:40:40)
[+] Enhanced logviewer to find correct file in a more generic way/
[!] fixed IDF Scan to search form more than one string at a time; optimized performance wiht ReadToEnd
[+] Made all licensing API dependencies dependent on !DEBUG
[+] Additional work on NetProjFolder Calc for WEB
[+] Made MigName data in the gmProj file instead of based on filename
[R] Commented out logic that autofixed VB_Name when VBP name classes collide -- this was blowing up on readonly VBP
[+] Added support for MULTI-UNIT jobs in Report/Job Struct
[!] fixed bug in author IDF(s)... that was skipping the first element in the file list (zero-based array issue)
[+] Enhanced Text Can report to convert embedded tabs to '~t'
[+] optimized modUtils.ReadNode
[+] Enhanced Search form to allow search for selected text in search box
[!] Fixed logic to count VBP lines and report added tasks

08/16/2010
[+] changed HID logic to use a temp folder instead of program files
[+] Moved and Enhanced the reporting function to a Reports tab on the main form
[+] Removed the Reports form and reports toolbar button
[+] centralized and refactored almost all of the file IO
through gmStudioLib.modUtils.openInputText/openOutputText/getTextFromFile/writeLog.
This seems to have fixed a problem with rebundle and gmStudio-fix changing the characterset
Set with Default Encoding
[+] Began work on a cancel button on the StatusBar to abort long running operations
[+] tweaked script counting to include <script> and </script> as GUI

08/12/2010
[!] fixed problem with regsiteration writing HID.TXT file to protected folder. Now using temp folder
[!] fixed problem with getting virtualroot compile commands from translation script
[!] fixed proplem with crash during struct reporting to do using hashset. added type cast instead of call by name
[+] enhanced web strucure report to count code <script> blocks. also counts jscript

08/05/2010
[+] Upgrade to V0987B5
[!] fixed problem with trying to open %ProjFolder%\deploy
[+] updated comments in CodeScanList.txt
[+] made codescan list text box wider
[+] try to accoutnt for CreateObkect(&quotProgid&quot;) in ASP
[+] add logic to suppress re-counting #includes in multi-unit scripts
[+] add more progress reporting to search and source metrics reporting for multi-unit

08/03/2010
[+] re-added main form icons that had somehow been saved in the disabled state
[+] changed progress reporting for search

08/03/2010
[+] Upgrade to V0987B4, Chevin Alpha Issues, CAVU Alpha Issues, VB6 Build Work, ASP+BuildFile=on
[+] Enhanced search to use regex expressions for src, config, and target
[+] Enhanced search to allow narrow search: withing results, suppress duplicates
[+] Enhanced search to search source: search #includes
[+] Enhanced search to search lang and user files
[+] Enhanced search to allow saving MigName-Search-name.tab files
[+] Enhanced Migration Setup: mask on name to ensure well-formed
[+] Enhanced Migration Setup: added Save and Upgrade Button
[+] Enhanced References to support Multi-File tasks
[+] Enhanced Metrics to support Multi-File tasks -- processes specified Pages
[+] Enhanced Metrics to support PageSlices -- processes includes
[+] Made recordset case-insensitive

07/20/2010
[+] Upgrade to v0987b1

07/18/2010
[+] Upgrade to v0986 final
[-] new VBI is 500K bigger due to larger min buffer size

07/13/2010
[+] Upgrade to v0986b7
[!] Fix buld order logic so BldType logic is not case-sensitive

07/07/2010
[+] Change gmStudio.ico to circle-M design (this increased gmStudioEXE size considerably)
[+] Added beep tones to debug when translation complete
[+] Added logic to add control attribute when reference has type COMCTL. (in VB6-TLI.dll)
[+] beefed up packaging logic to make sure latest VB6-TLI.dll is in the package
[+] Added a VB6-TLI test harness.
[+] Added new gmWebSite project/solution

06/21/2010
[+] Upgrade to v0986b6
[+] Minor refactoring in gmStudio event handlers
[+] Support for putting prototype files in extern folder
[+] Additional support for editions (inactive)

06/13/2010
[+] changed gmBasic handshake to use TOOL_BUILDID
[+] added edition support to clsLicInfo,
[+] added logic to check for manually setting the dialect in clsMigJobs

06/08/2010
[+] Implemented new licensing conventions
[+] demo mode LOC limit is 5000
[+] LOC Limit =-1 is unlimited
[+] Only UserLevel==Professional || Special can rebuild VBI
[+] Minor tweaks to logging literals
[+] Implemented a unified Trial/Standard/Professional EULA
[+] C:\gmstudio_dev\lic\protect_gmStudioLib.cmd changed demo term to 15 days

06/06/2010
[+] upgrade to gmBasic V0986b2
[*] fix problem with Added Jobs List not visible after maximizing frmAddJobs
[+] Optimized Tools/Validate (reference reporting) for Web Pages
[+] removed deprecated code for Pausing batch process
[+] Implement MigrationSupport.DataLib.RecordSet.AddNew(DataRow r)
[*] Changed TextStreamLine to count using LFs not NewLines (TODO CR-delimited)

05/12/2010
[+] upgrade to gmBasic V0985

05/06/2010
[+] upgrade to gmBasic V0985B5
[+] change format of dates in Help/About
[!] fix crash with libHeader report for missing file
[!] fix IDL scan report for missing file
[+] add elapsed time to translation log
[+] beef up clsLibCache.status status logic toi look at IDF
[+] enhance corrupt gmproj handler to report job record number

04/21/2010
[+] upgrade to gmBasic V0985B2
[!] fix IDL generator to deal witt reserved chars in enum entry names
[!] fix source member report when getting false positives from methods named *Function*
[!] fix process cancel to only make sure proc is still running before trying to shut it rown
[!] fix logic that was creating empty user.cmd files even when none was associated wiht mig task
[!] fix SrcRef report logic to not remove quotes around COM library descriptions sent by TLI.
[!] fix logic to delete IDF generation logs correctly
[!] fix logic to deal with exception in logic to build clsID-ProgID lookup table when helpstring contains '['

04/02/2010
[+] add support for user.vb7lang.xml, UserTranCfgPath
[+] add support for AuditSnapShot
[!] Fix GenExterns command string and logging
[+] prevent crash when rebuild VB7Lang.VBI before a gmproj is loaded (no log folder)
[!] fix add Refactor.xml to metalang install
[+] add user.vb7lang.xml to settings install

03/11/2010
[+] ResxFactory improved handling of OCXstate, converted to DLL
[+] Installation work, App Config Folder [SpecialFolders.ApplicationData]
[+] Licensing and Copy Protection work
[+] IDF Scan added to search form and Utility reports
[+] IDL Error Detection in IDL Header Report
[!] Fix Source Member Report
[+] Launch app with gmProj file
[+] Combined snapshot files
[+] Open tran script on error line
[+] Cleanup Buildorder process and remove extract.exe
[+] Remove startup with VBP and IDL
Oct-2009 -- Mar 2010
Windows Logo Certification, Windows Installer Installation, Standard Samples Package

10/2/2009 public release

gmStudio
A new version of gmStudio is available it includes the following changes since the 09/18/2009 release:
[+] Improved logic to keep details panel in sync with selected migration task
[+] Improved project summary display to include migration settings as well as task metrics
[+] Made project summary the default view of the Information tab
[+] Standardized one-up report format for listings in details panels
[+] Added logic to verify script XML is valid before passing to the gmBasic
[+] Added logic to verify script XML is within license limits
[+] Changed translation check to proceed with deploy and build if NetSize>0 rather than if TrnStat<>ERROR
[+] Enhanced key-value parser to allow for no blanks between key and equals sign
[+] Improved feedback to user when they do a Rebuild IDF or Rebuild Interop from references panel
[+] Enhanced reporting from ResxFactory
[!] Fixed logic to try to correct problem with UI minimizing when launching external process
[!] Fixed .NET build log report parser to pull PrjFldr properly
[!] Fixed a bug with re-creating bundle files from list of files
[!] Removed logic that dynamically enabled tabs based on application state
[!] Fixed problem with invalid applicaton state after selecting New then clicking the Close button on the Add Form
[!] Fixed problem with syncing the Target code listing on the Side-By-Side viewer
[!] Fixed path to Registration Help file
[!] Fixed problem with resx directory creation in ResxFactory
[R] Refactored logic to simplify creating one-off evaluation/built in licenses
[R] Enhanced recordset summary routine to allow value-only report for SUMs

09/18/2009
RC 09182009-0129PM 
[+] Added comments to mig.msxml2.xml
[+] Activate Web Tests in runall.cmd
[!] Fixed path to registry.xml in default asp script
[!] Fixed path to Registry Help page

09/17/2009
Release Candidate Available 
[+] This one supports both evaluation and licensed modes
[+] Additional work on enforcing licensing
[+] Minor cleanup of UI layout
[+] Added Semantics Symbols reports
[+] Added Registration Form
[+] Enhanced Logging to allow for locked session file
[+] Enhanced Help/About
[+] Improved reporting elapsed time for batch processing
[+] Updated batch scripts to support new tasks names and new reports
[+] Added Semantics Symbols reports
[!] Fixed problem with Target Code scan for ASPX when matching records contain tabs.

09/4/2009
New Beta Available 
[+] displays the content of EULA_DemoEdition.rtf
[+] enhanced reports list on reporting screen
[+] improved license enforcement experience
[!] various cosmetic fixes relating to UI elements not fitting in controls
[!] corrected handling of invalid records during metrics reporting
[!] corrected copy to clipboard on session grid
[!] corrected handshake for running semantics model report

09/3/2009
New Beta (09/03/09) 
Enhancements
[+] New layout for the Reports dialog
[+] Dynamic Enable/Disable UI controls based on presense/absence
of a migration set and an active task
[+] New report: [Reports/Project/Summary Metrics] provides a high level
view of the major metrics associated with the source codebase
[+] License Levels Displayed on the Config form
[+] Added logic to detect and correct tampering with LOC data in project
files so that we can enforce LOC limits.
[+] Handshaking with gmBasic.exe which will not run directly without the handshake
[!] Corrected logic for removing tasks
[+] Minor control name changes for clarity
[+] Improved exception messages in several places
[R] Cleaned up some obsolete code in the grid editor control that was left over from the VB6 migration.
[+] Removed language config files from the installation package – these
are baked into the VBI prior to deployment and the demo and standard
releases do not offer the ability to rebuild this file.
Open Issues:
[?] Installation to an app folder and a program folder.
[?] "Obfuscation" of gmStudioLib.

08/30/2009
Added gmStudio Code Scan Edition 
Purpose:
Allow customers to determine size and composition of their codebase
so we can compute the price of their license.

Allow us to give clients an idea as to cost of support services. 
Capability:
Create, Edit, Save Migration Project of any Size and Type
Run Code Scan Reports
-- Cannot produce translations or semantic reports
-- Unlimited LOC
-- Max Duration: 30 days
Setup:
<LicInfo
UserName="Customer" << needs reset each time?
UserLevel="reporting"
ExpDate="10/01/2009" << needs reset each time?
SrcType="VBP|WEB"
NetLang="vbn|csh"
LocLimit="12345678"
/> 
Package Exclude: all support folders except for template\VB6ScanCode
Package Exclude: samples folder
Package Exclude: batch folder
Start Menu: gmCodeScan, Docs, Uninstall

8/22/2009
New Beta Available (0820-1229) 
This version is the implements a 10KLOC limit. It will be repackaged as a demo/evaluation
version.
The license information is now distributed as an external XML file that is digitally
signed. Altering this file reduces the functionality of the product to reporting-only mode
and it also makes it a nuisance to use as it keeps reminding you that the license file is
invalid.

08/14/2009
New Beta Available (0814-1213) 
[!] Fixed invalid IO handle exception when running as a console application. This is a
high-performance multi-threaded scenario and may still need some tightening up to avoid
event latency issues.

08/14/2009
New Beta Available (0813-1531) 
Enhancements
Updated external process control to not pop-up a console window during external batch processing.
Added logic to show the running translation log in the session window as it is generated.
Started work on "stop batch" feature.
Improved batch runtime time number formatting.
Implemented multi-file select for "author interface description(s)..."
Update 1: gmBasic translation log is written to console during batch operation as well.
Finished the "stop batch" feature. Still needs some polishing in the GUI, but it is now killing the running batch process.

08/6/2009
New Beta Available (0805-1753) 
Fixed
Positioning of controls in tab pages
Enhancements
Updated Element Names in gmProj files to follow new conventions
Added Start Menu Icons
Refactoring
Removed deprecated code (private)

07/31/2009
New Beta Available (0731-1159) 
Extended the expiration date of the gmStudio beta to 08/21/2009.
Fixes:
Corrected a problem with IDF cache search
Corrected a problem with singl page ASPX migrations

07/26/2009
New Beta Available (0726-1617) 
Fix
Added logic to prevetn error listing project config but no project loaded
Enhancement
Lowered System Installation and Runtime Requirement to .NET SDK 2.0 from 3.5
Added Duplicate Code reporting to Source Structure Report

07/24/2009
Enhancements
New Beta Available (0724-1740) 
Added Session Logging for Reports
Added logic to remember user prefernce of gmproj file folder
Fixes
Additional Naming Standardization
Removed dead code relating to One-Off VBP
Fixed Stop Icon Appearance Problem
Fixed a minor issue Resx Processing in gmBasic

07/21/2009
New Beta Available (0721-0824) 
Enhancements
Optimized Loading large projects and reports in the UI
Also attempted to implement list colorizing, and it works, but there is a bug with the .NET listview that causes list subitems to revert to default colors when you hover over them.

07/18/2009
New Beta Available (0718-1132)
Fixes:
Corrected problem with remove task menu item
Corrected low level issue with IDL generation
Corrected problem with semantic report file name
Synced up report names in batch scripts
Enhancements
Optimized IDF management (3x faster)
Comments
The main focus of this release was to improve the performance of IDF related processing. This was being done using a migrated VB6 component code that interoped TLBINF32.dll; that approach was unacceptably slow. The program was modified to interop the original VB6 component for now until the migrated code can be optimized. Another serious performance problem was addressed in the IDF caching algorithm.
The reporting logic in the batch scripts were also synced up with the new report file names.
New Beta Available (1714-1447)

07/14/2009
Fixes
The system language file path (VB7lang.vbi) is now properly set during installation
A problem with status event handling was corrected
The set build order operation now correctly updates the UI and the processing order
Enhancements
Activity is logged to the console when the application is run in batch mode from the command line.

07/13/2009
First Beta Uploaded (V:0713-1836) 
I just uploaded the first beta (a zip containing and MSI).
Please check it out.
APR-2009 - JUL-2009
Migrate to C#/VS2008, Package

2009 MAR
PromisLib: New Config Vars: UserCmdTemplate,DefaultNetIde,UseFileAsJobId,AltTranOptions
PromisLib: VS2008 Support
PromisLib: Some build mode support
PromisLib: Improved NEWCing
PromisLib: gmProj Files Report
PromisUI: Log Viewers and Navigation
PromisUI: Integrated Source Search
PromisUI: HotKeys:
Alt-X = quickBatch;
Alt-C CompareJobs;
Alt-S editJobScripts job;
Alt-T Translate job.jobKey;
Alt-B Snapshot a Baseline;
PromisTLI: IDL Custom attributes
pLib: New Program -- EXE version of PromisTLI

2008 OCT
Optimized Ref Panel refresh -- persisting Job references
Added jump into trans script from tran log grid view
Added support to job registry entries to determine VBP's referencing VBPs

2007 APR-SEP
PromisTLI
took IDL generation from PromisLIB
beefed up lookin for imports to include return types
PromisLIB
moved IDL generation to PromisTLI
reporters: rework reporter recordsets to use enums instead of text keys
clsBundle: implement bundle fix replace_file; implement pre-edit tool
clsBundleReporter: reworked bundle reporter to work with very large files
clsIDLrepporter: added
jobrefReporter: numerous refinements and fixes
clsLibCache: simplify role of migration Mode and libCache
clsLibrary: improved NEWCing logic
clsMigJob: numerous enhancements, better NEWCing
clsMigJobs: added corrupt file check
clsPromis: Pre-Editor; Snapshop refreshes tran status; Simplified Multi-job script generation
clsPromis: lean analytics reports; auto VB7Lang.VBI generation
clsPromis: Generate IDFs for a List of IDLs
clsPromisScanreporter: better support for adding MultiJob script
clsNetBldLogReporter.cls: added support for ASP Logs
modules: split out BrowseForFolder
PromisUI
frmAddJobs: bug fixes, better support for web jobs
frmConfig: refactoring
frmExport: removed access reporting stuff
frmPromisMain: Added Grid Views of job details; TranLog, BuildLog, DeployLog
frmPromisMain: Integrated Edit File with TranLog.Grid
frmPromisMain: Integrated Edit File with BuildLog.Grid
frmPromisMain: Added Grid Views of job details;
frmPromisMain: Added logic to not refresh job panels during batch operation
frmPromisMain: Generate IDFs for a List of IDLs
frmSideBySide: added (needs work)

2007 FEB-APR
Reference logic for ASP
Added Registry/ProgID Lookup
Beefed up REF_IMPORT Resolution
Changed recordset Field references to use enums
Job Member report
Made VBI Audit a report, not a job detail tab
Added logic to creaet a migration set for a VBP on the fly
Implemented migration project workspaces

2007 NOV-JAN
Implemented new deployment logic
Enhanced Add Jobs Form to work with gmproj files instead of TAB files
Enhanced Config Form to work with gmproj files
Implement migration project gmproj files
Implemeted remove jobs
Implemented MIgration Set report
Implemened Job Members report
Merged PromisScan and PromisLib
Implemented simple conditional compilation pre-processor
Added VBG support to Add Jobs Form
Added support to detect references to VBPs
Enhanced job-tie-breaker logic

2007 Aug-Oct
Added MSFT Migration Assessment Tool
Fleshed out Batch Mode
Reworked to split out PromisLib
Enhancement for dealing with SubModules in COM typelibs
Reworked reporting dialog
Added Compare ToolButton
Added MRU list
Renamed and standardized Reports
Enhanced Job Files Tab
Additional support for Includes
MultiJob Translation Report
Enhanced Config Editor (more config types, find)

2007 July
Added Enhanced Reporting Dialog
Improved ASP support, includes as references

2007 April
Enhanced PostFix
Enhanced Script/SubScript Generation

2007 March
Added logic to generate starter IssueCodes from fix file.
Snapshoting

2007 Feb
Added post-fix
Added Iceberg report
Added Analytics DB

2007 Jan
Additional IDL work
Added User Control for Editing job filter
Started Wizard Mode
Added batch Mode

2006 Dec
Added user command scripts

2006 Nov
Added ASP support

2006 Oct
Implement MSBuild

2006 Sep
IDL Generation
XML Generation

2006 August
Added support for multiple migration modes
Added compare jobs
Added logic to generated interface descriptons without having to shell TLI
Hooked diff to rebundle

07/13/2006
A 1) Implement auto lib functions to generate libraray descriptoins on the fly using SpellTLI 1) IDL, 2) XML. THis will also provide a test case of VB calling a .NET ASM.
A 9) Fix problem with trying to run loading a joblist that does not exist on startup
B 1) Clean up overall
C 1) Rework job log -- gather requirements
D 4) Need to separate concept of a job from a VBP? ties into script override folder
F 1) Program ICON
F 2) Add Feedback during Scan
C 2) MRU Migration List
Reports
Run and check builds
Language selection csh or VBN
VBUW runs
B 2) Cleanup Error Parser; view Log can look at list view of errors?

04/13/2006
C 2) allow running and viewing a dependency report for a given VBP
Added New Migration
Added Logic to add jobs to a migration
Added Save Migration, Save Migration as

04/07/2006
[+] debundler
open in IDE (added clsBundle)
preview BND
rebundling started
fixed scan

04/02/2006
Converted ScanTool classes to use record sets
removed VBP Src control
added job_fbp_path property

04/01/2006
[+] change config file paths to relative paths
[+] allow review of VB7 logs from GUI
added file new
added dependency on ScanTool
added file save as
added remember last job list (saveConfigString function)
added script override folder
added jobListPath to config
added error summary record to error report

03/26/2006
[+] rework menus as in frmMain.old
[+] fix up toolbar buttons
[+] Refactor title bar logic
[+] added edit jobs with XML

03/22/2006
[+] Implemented Menus in frmMain.old
[+] Added Toolbar and StatusBar

 

Blog Posts

  • No labels