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

Release Blog

gmBasic: Upgrade Engine

gmBasic is a code transformation tool that reads, interprets, and rewrites VB6/ASP/COM systems to one of the .NET languages (C# or VB.NET). Based on feedback from our clients and migration projects in the field, we are continuously improving gmBasic so as to help users more easily produce cleaner and more correct results. Most recently, this work included the general improvements needed to produce build-complete C# code for a 1.8M LOC electronic medical records application and a 500K LOC Architectural Design system. This distribution, Version 31.08, includes several enhancements:

  • Improves handling of parameterized properties
  • Improves handling of ControlArray event handlers
  • Improves recognizing references to VB6 intrinsic functions fully qualified with the VBA.Interaction module name
  • Improves storing symbol table information for identifiers declared with WithEvents
  • Improves handling of the Unload statement when used in a class module
  • Improves handling of Controls.Add operations
  • Improves performance and accuracy of type inference
  • Improves handling of mathematical expressions involving Byte and Double
  • Improves recognizing references to elements of an array of Forms
  • Improves handling of references to ControlArray.LBound
  • Adds support for migrating Control.DataMember property to MigrationSupport methods
  • Improves handling code that implicitly uses a control's default property as a Select Case argument
  • Improves handling name clashes between global Main method and Form named Main
  • Improves migration of VB6 constants to .NET Colors
  • Adds a gmSL event, EditSource, that is raised after the code is loaded and may be used to invoke custom source code pre-processing
  • Improves handling of type Byte as a small integer quantity
  • Improves handling of COM enumerations declared using typedef
  • Improves handling naming clashes between properties and enums
  • Improves handling inconsistencies in byref status of parameters in interfaces and implementors
  • Improves authoring and using cross-library inheritence relationships in interface description files
  • Improves recognizing global module members explicitly referenced as children of the VBP
  • Improves handling forward references to classes that are also migrated to interfaces
  • Improves handling changes to Font members made through Font wrapper properties
  • Improves recognizing complex types used as members of user-defined types
  • Improves handling complex enumeration members as const initializers
  • Improves logic to correct assignments of reference types to 0
  • Improves support for Collection.Remove operations
  • Improves support for initializing a Font from source type stdole.StdFont
  • Improves support for retaining strong types for polymorphic variables
  • Improves logic to correct passing arguments that are incompatible with the parameter
  • Improves Table-based reports generated from gmSL commands in gmPL scripts to use StripTrail=on
  • Improves handling comma-delimited lists of values in a Const declaration
  • Improves handling name clash between Form member and intrinsic function (e.g., Left)
  • Improves handling name clash between a user event and a global type (e.g., Timer)
  • Improves support for comparing a Single and an Enum entry
  • Improves handling variant arrays inferred to be strongly typed arrays
  • Improves handling COM APIs with class names with the same name as the containing library
  • Improves migrating On Error GoTo to try/catch
  • Improves handling unary minus with Enum entries
  • Adds support for migrating the Control.UseMaskColor property to MigrationSupport methods
  • Improves handling undeclared local variables that clash with global symbols
  • Improves handling inconsistency in events declarations in their interface and in the implementing class
  • Improves handling ambiguity of an object reference versus default property reference
  • Improves migration of calls passing a Handle argument as an IntPtr Parameter
  • Improves handling of indexed ControlArray expressions
  • Improves handling of Control.CurrentX/CurrentY properties
  • Improves support for using COM UIID when migrating CreateObject
  • Improves handling Dim statements in Select Case blocks
  • Improves migration of CommandButton.Default to Form.AcceptButton
  • Improves migration of Integer quantities to .NET Colors
  • Improves handling of idiomatic VB6 test for empty array using (Not Array)
  • Improves migration of numeric constants to user-defined enumeration entries
  • Improves handling calls passing weakly typed form argument to a strongly typed form parameter
  • Improves handling forward-declared Implements relationships
  • Improves handling multi-level interface inheritance relationships
  • Improves migration of NewEnm in user-defined collections to Enumerable in .NET
  • Improves propagation of name changes made for .NET naming conventions in code
  • Corrects the metalanguage definition of InputBox to allow specifying Default as a named argument
  • Improves CodeStyle operation adding support for a AllowBlankLines feature

gmStudio: Upgrade Solution Development Environment

Powered by gmBasic, gmStudio is a development environment for analyzing code and developing custom VB6/ASP/COM to .NET upgrade solutions. We are continuously adding functionality to gmStudio and making it easier to use. This distribution includes several enhancements:

  • Adds support for modifying Load element in translation scripts using ScriptRules
  • Adds Log-only and Script-Only options for the Translation and Deployment information
  • Improves Edit Visual Studio Solution Project List File action to generate a default file if needed
  • Adds Filter from Selection item to the Search Results Context Menu
  • Improves support for gmSL-based project tasks
  • Improves Edit Refactor Library command to use MigrateIDF to generate files starter files when applicable
  • Improves Explorer integration for creating an initial upgrade solution for a folder or vbp
  • Adds a check and displays a warning if the Visual Studio version specified in the gmproj file is not installed
  • Corrects SetEnv.cmd logic that initializes MSBuild environment for batch build processes

gmslAPI: a .NET API for Developing Advanced Upgrade Solutions

Powered by gmBasic, gmslAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmslAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest product improvements and conventions.

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 sample rules were updated to reflect the latest product improvements and conventions. See also additions and changes in gmStudio Extensions Repository.

  • Improves CodeStyle.std.xml adding a sample of the AllowBlankLines specification
  • Adds COMDLG32.OCX.gmSl and comdlg32.ocx.Refactor.xml for migrating Common Dialog to WinForms
  • Adds mig.MSCOMCT2.OCX.Winforms.xml for migrating Windows Common Controls 2 to WinForms
  • Adds mig.Threed20.WinForms.ocx.xml for migrating Sheridan Controls to WinForms
  • Adds MSOUTL32.ocx.Refactor.xml form migrating MS Outline Control to a WinForms TreeView-derived control

Sample Upgrade Solutions

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

  • Improves VBScan sample to use Migration Rules files rather than custom IDFs
  • Improves all samples by linking the Debug build of the MigrationSupport.dll

gmBasic: Upgrade Engine

gmBasic is a code transformation tool that reads, interprets, and rewrites VB6/ASP/COM systems to one of the .NET languages (C# or VB.NET). Based on feedback from our clients and migration projects in the field, we are continuously improving gmBasic so as to help users more easily produce cleaner and more correct results. Most recently this work included the general improvements needed to produce build-complete C# code for a 1.8M LOC electonic medical records application and improvements for the migration of error handling . This distribution, Version 31.04, includes several enhancements:

  • Improves the error handling migration of methods that used On Error GoTo, GoTo, and Resume, etc. to methods that use try-catch
  • Improves resolving ambiguity due to a const/class naming clash
  • Improves support for array arguments to event handlers
  • Improves support for enum properties assigned to an undefined numeric quanity in the VB6 designer code
  • Improves support for stubbed Color properties
  • Improves support for stubbed IntPtr properties
  • Improves support for cases of weakly typed symbols being used in index expressions
  • Improves support for new operations on classes also used as implemented interface
  • Improves support for COM classes that have names clashes in their interfaces
  • Improves support for references to COM constants
  • Improves support for optional parameters to reference type with a default of 0
  • Improves support for IIf used with reference types
  • Improves support for recursive interface methods
  • Improves support for methods declared with UserControl parameters
  • Improves support for COM event handlers that return a non-void type (C#)
  • Improves support for recognizing references to COM indexers
  • Corrects an issue with the GenericCollections upgrade
  • Corrects an issue with complex conditional expressions of functions with enumeration parameters
  • Improves the CodeStyle Feature adding support for limiting consecutive blank lines in generated code
  • Improves support for recognizing members of derived class overriding members of base class
  • Improves migration of Const symbols to static readonly symbols when required
  • Improves handling of statement separators in Select-Case statements
  • Improves handling parameterized properties

gmStudio: Upgrade Solution Development Environment

Powered by gmBasic, gmStudio is a development environment for analyzing code and developing custom VB6/ASP/COM to .NET upgrade solutions. We are continuously adding functionality to gmStudio and making it easier to use. This distribution includes several enhancements:

  • Adds support for VS2019 integration
  • Adds open with command prompt from gmStudio View Menu when using Control-Click
  • Adds ScriptRule activity reporting to Translation Log
  • Improves Peek Reporting mode to display variable lines above/below matching record
  • Improves Batch Control form to allow setting session log listing max lines
  • Improves RESX Folder conventions to use SrcName rather than MigName-SrcName
  • Improves Migration Project Name validation
  • Adds support for viewing scripts separate from logs in the information panel

gmslAPI: a .NET API for Developing Advanced Upgrade Solutions

Powered by gmBasic, gmslAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmslAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest product improvements and conventions.

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 sample rules were updated to reflect the latest product improvements and conventions. See also additions and changes in gmStudio Extensions Repository.

  • Improves Tab Control Migration to preserve zOrder of contained controls
  • Improves Tab Control Migration to set SizeMode to account base on Style if needed
  • Adds sample for vsFlexLib.vsFlexArray migration to WinForms.DataGridView

Sample Upgrade Solutions

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.

  • Adds a new Sample, VBScan, a VB6 parser/reporter that also illustrates upgrading the Microsoft Outline Control to WinForms Treeview-derived control
  • Updates all Samples to target Visual Studio 2017 by default

gmBasic: Upgrade Engine

gmBasic is a code transformation tool that reads, interprets, and rewrites VB6/ASP/COM systems to one of the .NET languages (C# or VB.NET). Based on feedback from our clients and migration projects in the field, we are continuously improving gmBasic so as to help users more easily produce cleaner and more correct results. Most recently this work included the general improvements needed to produce build-complete C# code for a 173K LOC statistical-process-control-reporting application and major improvements to migration rules conventions. This distribution, Version 31.00, includes several enhancements:

  • Corrects fixed-size array declarations in VB.NET.
  • Improves support for implementing COM API replacements using Migrate command files and gmSL Scripts
  • Improves migration of Property.Let statements
  • Improves migration of DisplayStyleConstants and DrawModeConstants
  • Improves migration of local references to default properties

gmStudio: Upgrade Solution Development Environment

Powered by gmBasic, gmStudio is a development environment for analyzing code and developing custom VB6/ASP/COM to .NET upgrade solutions. We are continuously adding functionality to gmStudio and making it easier to use. This distribution includes several enhancements:

  • Updates gmStudio with gmBasic V31.00
  • Adds support for creating generic VB6 starter codes and gmStudio projects for testing specific translation scenarios
  • Adds File/New menu as context menu to New toolbar button
  • Adds option to display Upgrade Task fields with red/yellow/green color for ERROR/WARNING/SUCCESS status
  • Adds COM IDL files as a Search Source
  • Modifies Alternate Field Layout
  • Improves highlighting Task List items
  • Improves Search Results to allow sorting of numeric columns in natural numeric order
  • Improves Visual Studio Solution File Project list to allow %UserFolder% variable in project path
  • Improves performance of pre-processing large translation scripts
  • Improves adding new tasks to a project
  • Improves Translation Log Reports
  • Improves organization of File and Help Menus
  • Improves appearance of Fonts in high DPI environments

gmslAPI: a .NET API for Developing Advanced Upgrade Solutions

Powered by gmBasic, gmslAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmslAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest product improvements and conventions.

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 sample rules were updated to reflect the latest product improvements and conventions. See also additions and changes in gmStudio Extensions Repository.  This distribution includes several script enhancements:

  • Scrrun.Refactor.xml – Adds COM API mapping for scrrun.dll to System.IO and Specialized Collections.OrderedDictionry
  • Scrrun.Transform.xml – Adds Scrrun.Transform Class implementing transformations for various scrrun.dll API references
  • Mscomctl.Refactor.xml – Adds COM API mapping for Windows Common Controls to WinForms Controls
  • Mscomctl.Transform.gmsl – Adds MScomCtl.Transform class implementing transformations for various Mscomctl API references
  • Mscomctl.MigCode.gmsl -- Adds MScomCtl.MigCode class implementing dynamic code generation logic for MScomctl API controls
  • Mscomctl.ServiceMethods.gmsl – Adds MScomCtl.ServiceMethods class implementing service extensions that alter the processing done by the core tool at specific points in the upgrade process
  • UserCmd.std.cmd – Improves Testing logic

Sample Upgrade Solutions

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.

  • FileExplorer – Adds ListView Columns Sorting example to this sample
  • FileExplorer – Adds ListView Item Selection example to this sample
  • Batch Script – Adds logic to run Analytics Definitions Reports to the sample batch script
  • Changes to using Refactor IDF files rather than Custom IDF files for deep migrations
  • Changes to using gmSL scripts rather than gmNI DLLs for deep migrations
    Learn more on this Blog Post.

gmBasic: Upgrade Engine

gmBasic is a code transformation tool that reads, interprets, and rewrites VB6/ASP/COM systems to one of the .NET languages (C# or VB.NET). Based on feedback from our clients and migration projects in the field, we are continuously improving gmBasic so as to help users more easily produce cleaner and more correct results. This distribution, Version 30.95, includes several enhancements:

  • Adds support for dimensioned types as collection values in the GenericCollections Migration extension
  • Adds support for migrating a boolean to an enum
  • Adds support for extending an API by adding an enumeration at the library level
  • Adds support for using Refactor/Remove with Enums and Consts symbols
  • Improves default interface description files to migrate COM short to .NET integer
  • Improves support for changing the number of arguments when migrating a method
  • Corrects issue with handling arguments containing '#' character
  • Improves handling whitespace and complex markup when upgrading ASP
  • Improves handling name collisions between the Form and a method within the same Form
  • Improves %nP Pattern Token replacement conventions
  • Improves handling to ControlArray.Ubound operations
  • Improves handling conditional expressions comparing Date and Int(Date)
  • Improves handling division expressions using Twips quantities

gmStudio: Upgrade Solution Development Environment

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

  • Adds support for using a gmProj-specific Project List file when generating a Visual Studio Solution file
  • Adds support for specifying and using folders to organize projects when generating a Visual Studio Solution file
  • Adds Generate Solution File option to Tools Menu
  • Adds Edit Solution File Project List File option to Tools Menu
  • Adds support for passing Project Type (VB6 or ASP) into script templates
  • Adds support for PostAuthor elements in ScriptRules file
  • Improves Member Location reported in Source Scan for matches in the General code block
  • Improves displaying Functional Test Log in Information Panel
  • Improves reporting REPLACEFILE messages in Translation Log Report
  • Improves section headers in the All Logs Report
  • Improves searching Migration Set Report results
  • Improves adding multiple VBPs from a VBG file or a simple text file listing of VBP paths
  • Improves Search Results reporting to allow reporting regular expression group matching anywhere in the report record using %rec%[n] place holder in Search Report Template
  • Improves Search list results handling of "not found" case
  • Improves ScriptRules logging in the actual translation script
  • Improves the GUI Scan report with support for Designer file data
  • Improves the Side-by-Side Viewer with support for Designer file data
  • Improves References Report to include coclass/class used as parameter
  • Improves reporting Properties on References Report and Definitions Report

gmslAPI: a .NET API for Developing Advanced Upgrade Solutions

Powered by gmBasic, gmslAPI is a .NET API for automating the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmslAPI also includes classes to facilitate the management of complex upgrade rules and integration with the gmStudio IDE. This API was updated to reflect the latest product improvements and conventions.

  • Improves References report to include coclass/class used as parameter
  • Improves reporting properties on References Report and Definitions Report

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 sample rules were updated to reflect the latest product improvements and conventions. See also additions and changes in gmStudio Extensions Repository.

  • Improves Windows Common Controls to WinForms Rules
  • Implements ListControls.gmsl without using DataStore classes
  • Improves Functional Test batch processing sample
  • Improves Instructions in the Search Report Template sample
  • Adds more controls to StubControlBaseClass.xml

Sample Upgrade Solutions

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.

  • Adds ListView Columns Sorting example to FileExplorer sample
  • Adds logic to run Analytics Definitions Reports to sample batch script

gmBasic: Upgrade Engine

gmBasic is a code transformation tool that rewrites VB6/ASP/COM systems to one of the .NET languages (C# or VB.NET). Based on feedback from our clients and migration projects in the field, we are continuously improving gmBasic so as to help users more easily produce cleaner and more correct results. This distribution, Version 30.92, includes several enhancements:

  • Corrects problems with translating VBScript comments within ASP String Literals
  • Improves preservation of horizontal and vertical whitespace in ASP translations
  • Improves support for more operation while under trial license
  • Adds use of libtype=Internal in a migration rules file to suppress stub assembly references
  • Improves support for DataField and DataSource properties while generating a global stub framework
  • Improves recognition of various VB6 Intrinsic functions
  • Improves recognition of an custom instance of the ErrorObject
  • Simplify metalanguage information for VB6 File System ListBox controls

gmStudio: Upgrade Solution Development Environment

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

  • Adds Help/Extensions to display gmStudio Extensions Repository https://portal.greatmigrations.com/display/GMG/gmStudio+Extensions
  • Improves detecting and using of different versions of VS2017 for .NET build operations
  • Improves Definitions Report to indicate which subprograms are event Handlers
  • Improves ScriptRules command to allow additional script variables in FileName attribute value
  • Improves handling nested conditions in ScriptRules elements
  • Improves ScriptRules logging and error handling
  • Improves hot-key handling for Task Reset operation
  • Improves Find dialogue behavior in the Side-by-Side Form
  • Improves Translation Log Reporting
  • Improves Member named in Source Scan Report for matches found in a file's General section
  • Improves File Peek Report when starting from first record of a file

gmslAPI: a .NET API for Developing Advanced Upgrade Solutions

Powered by gmBasic, gmslAPI is a .NET API for automating the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmslAPI also includes classes to facilitate the management of complex upgrade rules and integration with the gmStudio IDE. This API was updated to reflect the latest product improvements and conventions.

  • Corrects issue with WPF startup when the VB6 had a startup form
  • Improves general handling of controls for XAML generation
  • Improves Definitions Report to indicate which SubPrograms event Handlers

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 sample rules were updated to reflect the latest product improvements and conventions.

  • Adds gmStudio Extensions Repository https://portal.greatmigrations.com/display/GMG/gmStudio+Extensions. Automatic Tool integration coming in a future release
  • Improves default VB6 Issues list to check for control validation handlers
  • Improves samples rules to inherit a stronger base control when generating COM stub control classes
  • Improves sample script for adding instrumentation to VB6 codes
  • Improves sample batch script for automating gmStudio from command line
  • Improves sample batch script for testing translation results
  • Improves sample migration rules for COM: MSComCtl.ocx, Scrrun.dll

Sample Upgrade Solutions

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

  • Improves WPF Samples to use local gmSL scripts rather than system scripts

gmBasic: Upgrade Engine

gmBasic is a code transformation tool that rewrites VB6/ASP/COM systems to one of the .NET languages (C# or VB.NET). Based on feedback from our clients and migration projects in the field, we are continuously improving gmBasic so as to help users more easily produce cleaner and more correct results. This distribution, Version 30.89, includes several enhancements:

  • Improves the general ability to produce accurate, build-complete .NET (C# and VB.NET) systems from ASP sites (most recently making enhancements needed to upgrade a large e-mail marketing system with over 1000 pages and almost 300 #includes.)
  • Improves the general ability to produce accurate, build-complete .NET (C# and VB.NET) systems from VB6 applications (most recently making enhancements needed to upgrade a structural engineering application (130K LOC) and a reinsurance application (120K LOC).)
  • Adds Refactor\Fixtype@status=dynamic to allow translating with a strong type but authoring the code to use type dynamic
  • Adds Registry@type=MigFile to allow associating a Migration File with a COM interface file
  • Improves handling pages with deeply nested and inter-dependent #include files in ASP
  • Improves handling user defined VBScript class named "Collection" in ASP
  • Improves handling const in ASP
  • Improves handling arrays used in foreach
  • Improves type inference when variable is declared and initialized on same line of code
  • Improves handling to intrinsic RegExp API for ASP
  • Improves handling parameters to VB6's file Open statement
  • Improves handling parameters to DrawMode property
  • Improves handling parameters to Scale method
  • Improves handling the Call keyword

gmStudio: Upgrade Solution Development Environment

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

  • Adds Peek Reporting mode for inspecting content surrounding a search result
  • Improves Search reporting when using a Report file as a search source
  • Improves System Configuration Search to include application templates folder as a search source
  • Improves integration of file edit operation with Search results
  • Improves integration of Side-by-Side viewer with Search results
  • Improves display of .NET files in Side-by-Side viewer when one source file becomes many .NET files
  • Improves translation log report details for warning messages
  • Improves Reference Report by reporting declaring form/control containing control references
  • Improves license checks in ScriptRules files
  • Improves accuracy of Members Report for ASP

gmslAPI: a .NET API for Developing Advanced Upgrade Solutions

Powered by gmBasic, gmslAPI is a .NET API for automating the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmslAPI also includes classes to facilitate the integration and management of complex upgrade rules in gmStudio. This API was updated to reflect the latest product improvements and conventions.

  • Improves Reference Report by reporting declaring form/control containing control references
  • Corrects Reference Report to avoid exception when a reference occurs in a very long source line

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 sample rules were updated to reflect the latest product improvements and conventions.

  • Improves CodeScanList.txt: additional entries in preset list of Potential VB6 Issues

Sample Upgrade Solutions

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

gmBasic is a code transformation tool that rewrites VB6/ASP/COM systems to one of the .NET languages (C# or VB.NET). Based on feedback from our clients and migration projects in the field, we are continuously improving gmBasic so as to help users more easily produce cleaner and more correct results. This distribution, Version 30.84, includes several enhancements:

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

gmStudio: Upgrade Solution Development Environment

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

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

gmslAPI: a .NET API for Developing Advanced Upgrade Solutions

Powered by gmBasic, gmslAPI is a .NET API for automating the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmslAPI also includes classes to facilitate the integration and management of complex upgrade rules in gmStudio. This API was updated to reflect the latest product improvements and conventions.

  • Improves Definitions Report to report immediate parent of each defined symbol; This is helpful for analysing sub program parameters
  • Improves Definitions Report to report a Handler attribute to Subprograms that are event handlers

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 sample rules were updated to reflect the latest product improvements and conventions.

  • Improves CodeScanList.txt: additional entries in preset list of Potential VB6 Issues

Sample Upgrade Solutions

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

gmBasic is a code transformation tool that rewrites VB6/ASP/COM systems to one of the .NET languages (C# or VB.NET). Based on feedback from our clients and migration projects in the field, we are continuously improving gmBasic so as to help users more easily produce cleaner and more correct results. This distribution, Version 30.82, includes several enhancements:

  • Improves the general ability to produce accurate, build-complete .NET (C# and VB.NET) systems from VB6 code (most recently making enhancements needed to upgrade a large ERP system with 326 VBPs referencing 1,369 code files containing 1.3M LOC and 50 third-party-COM components)
  • Improves migration of PropertyBag and PropertyPage
  • Improves support for using Debug Build Configuration
  • Improves support for VBScript classes in ASP translations
  • Improves support for ASPErr Object in ASP translations
  • Improves translation of DragOver and DragDrop events
  • Improves diagnostic reporting for migrating implicit conversions and Type Inference operations
  • Improves translation of LoadResPicture function
  • Corrects issue with Event/Method Name Clash when BuildFile=global
  • Improves handling IIf  when return values have different types.
  • Improves Naming convention for same-named ASP pages
  • Improves handling "New class.member" references in ASP
  • Improves handling ScaleModeConstants enumeration
  • Improves handling Arrays declared using type-indicator characters
  • Improves recognizing properties of Global Multiuse classes
  • Improves migrating complex IIf expressions

gmStudio: Upgrade Solution Development Environment

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

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

gmslAPI: a .NET API for Developing Advanced Upgrade Solutions

Powered by gmBasic, gmslAPI is a .NET API for automating the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmslAPI also includes classes to facilitate the integration and management of complex upgrade rules in gmStudio. This API was updated to reflect the latest product improvements and conventions.

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 sample rules were updated to reflect the latest product improvements and conventions.

  • Improves CodeScanList.txt for translation audit reporting
  • Improves GlobalStubs.xml for generating global stub framework

Sample Upgrade Solutions

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

gmBasic is a code transformation tool that rewrites VB6/ASP/COM systems to one of the .NET languages (C# or VB.NET). Based on feedback from our clients and migration projects in the field, we are continuously improving gmBasic so as to help users more easily produce cleaner and more correct results. This distribution, Version 30.80, includes several enhancements:

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

gmStudio: Upgrade Solution Development Environment

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

  • Improves reporting user-defined type and class references in the Analytics References Report
  • Improves handling file references for sub-modules within COM libraries
  • Improve status reporting for VB6 Build test
  • Improves Startup Splash Screen to display a unique build ID

gmslAPI: a .NET API for Developing Advanced Upgrade Solutions

Powered by gmBasic, gmslAPI is a .NET API for automating the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmslAPI also includes classes to facilitate the integration and management of complex upgrade rules in gmStudio. This API was updated to reflect the latest product improvements and conventions.

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

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 sample rules were updated to reflect the latest product improvements and conventions.

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

Sample Upgrade Solutions

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

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

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

gmStudio: Upgrade Solution Development Environment

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

  • Improves Splash Screen at startup

gmSLAPI: a .NET API for Developing Advanced Upgrade Solutions

Powered by gmBasic, gmslAPI is a .NET API for automating the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmSLAPI also includes classes to facilitate integrating with gmStudio and managing complex upgrade rules. The API was updated to reflect the latest product improvements and conventions.

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 sample rules were updated to reflect the latest product improvements and conventions.

Sample Upgrade Solutions

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

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

gmBasic: Upgrade Engine

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

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

gmStudio: Upgrade Solution Development Environment

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

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

gmSLAPI: a .NET API for Developing Advanced Upgrade Solutions

Powered by gmBasic, gmslAPI is a .NET API for automating the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmSLAPI also includes classes to facilitate integrating with gmStudio and managing complex upgrade rules. The API was updated to reflect the latest product improvements and conventions.

  • Modifies sample Program to use gmslAPI.Common.DefaultStartUpFile rather than hard coded startup

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 sample rules were updated to reflect the latest product improvements and conventions.

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

Sample Upgrade Solutions

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

  • Improves sample batch regression test scripts

gmBasic: Upgrade Engine

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

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

gmStudio: Upgrade Solution Development Environment

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

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

gmSLAPI: a .NET API for Developing Advanced Upgrade Solutions

Powered by gmBasic, gmslAPI is a .NET API for automating the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmSLAPI also includes classes to facilitate integrating with gmStudio and managing complex upgrade rules. The API was updated to reflect the latest product improvements and conventions.

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 sample rules were updated to reflect the latest product improvements and conventions.

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

Sample Upgrade Solutions

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

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

  • Improves the general ability to produce accurate, build-complete .NET code systems from VB6 code (most recently making enhancements needed to upgrade a large insurance application with 26 inter-related VBPs referencing 592 code files containing 575K LOC and 34 third-party-COM components)
  • Improves accuracy and readability of certain complex conditional expressions
  • Improves default C# coding style to use lightweight object-oriented coding conventions (formerly, this required the "SubSystem=loc" option)
  • Improves default VB.NET coding style to favor using VB.NET run-time support rather than extension methods
  • Improves handling identifiers containing international characters

gmStudio: Upgrade Solution Development Environment

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

  • Adds flexibility of deployment by allowing the user to specify .NET project file and folder naming conventions as part of each gmStudio project's settings
  • Adds options for project task name conventions to better support different types of legacy project naming conventions
  • Adds support for setting CodePage in the .NET project file
  • Adds support for setting .NET Project Type GUIDs needed for WPF upgrades
  • Improves conventions for StartUpObject conventions for WPF upgrades
  • Improves handling of MigrationSupport stub classes in integrated translations
  • Improves handling of international characters in all Search Reporting functions
  • Adds stable-but-unique Project GUID generation for all .NET projects
  • Improves gmStudio About Box Reporting
  • Corrects screen layout issues when running Windows with Text Size greater than 100%
  • Improves Analytics Reports and model Audits to use gmMetrics, a gmSLAPI application
  • Improves default handling of Last Message field to avoid spurious differences between versions of gmProj files
  • Adds support for interpreting foreign language build logs
  • Adds support for using the %ProjFolder% token in Solution File Generator project list
  • Improves log content for Solution File Generator
  • Improves reporting of #INFO messages in Translation Log Reports
  • Adds sort indicators to ListView column headers
  • Improves integration with upgrade tasks using a gmslAPI executable
  • Improves Configuration Form User files listing to include sub-folders
  • Adds support for Form-to-XAML in the Side-by-Side Viewer for WPF upgrades
  • Adds option to skip running translations in Upgrade Wizard thus running only the metrics reports
  • Improves handling of very large (>64MB) log files (e.g., when using diagnostics)

gmSLAPI: a .NET API for Developing Advanced Upgrade Solutions

Powered by gmBasic, gmslAPI is a .NET API for automating the gmBasic upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmSLAPI also includes classes to facilitate integrating with gmStudio and managing complex upgrade rules.

  • Improves organization of gmslAPI classes with namespaces
  • Improves handling conditions on nested rules in ScriptRules.xml
  • Improves ScriptRules logger to use the LogMessage API

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 sample rules were updated to reflect the latest product improvements and conventions.

  • Improves standard ScriptRules.xml template
  • Improves standard translation templates to assume new C# dialect rather than the deprecated "SubSystem=loc" option
  • Improves Analytics Reports and Audits Reports script templates to use gmMetrics
  • Changes default handling of Line to migrate to MigrationSupport.Line rather than Label
  • Removes SubSystem=loc; The loc conventions are now the default for translation to C#
  • Removes SubSystem=lob; VB.NET bias is now the default for translation to VB.NET
  • Improves migration of VB6 File System Listbox controls to facilitate stub framework integration

Sample Upgrade Solutions

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.

  • Samples updated to reflect changes to SubSystem changes
  • Samples updated to reflect changes to MigrationSupport.UI
  • Improves packaging of "All Samples" content

Announcing gmslAPI: a .NET API for Upgrade Development

Great Migrations is pleased to announce a major break through in software re-engineering: a .NET API for automating the gmBasic upgrade engine and accessing the semantic models produced by our linguistic compilation technology.

Our goal for this API is to provide the most powerful development platform for building advanced upgrade solutions. The API integrates the features of the Great Migrations Programming Language (gmPL) with Great Migrations Scripting Language (gmSL). The XML-based gmPL has been used for upgrade scripts as well as meta-language and COM interface description files. The C-like gmSL API has been used extensively for dynamic code templates, deep code analysis, and advanced transformations. gmPL and gmSL provide access to an extensive collection of gmBasic commands, events, and operations, but they lack key features of modern development platforms such as interactive debugging and intellisense. The new .NET-based gmslAPI addresses these limitations and provides greater access to the full power of the gmBasic translation engine. Of course, developers building upgrade solutions using gmslAPI can also use other .NET language and framework features allowing more sophisticated upgrade solutions integrating a wider array of information.

The API includes special purposes classes to help you integrate API-based EXE upgrade tasks with gmStudio and customize their behavior. EXE upgrades tasks can be used in gmStudio using procedures very similar to those for gmPL script tasks. The main difference is the EXE tasks are implemented in C# (or VB.NET) using Visual Studio while gmPL script tasks are implemented in XML using your favorite code editor. We have already developed a C# version of the WPF transformation logic using this API and also used it with C# to implement several very large multi-feature upgrade solutions. And early preview of API documentation is here and additional documentation and samples will be published soon. Please Contact us directly if you are interested in discussing how this technology can help you.

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 to make it more robust and flexible and so that it produces cleaner, more correct results. This distribution, Version 30.68, includes several enhancements:

  • Adds a .NET API for accessing the gmBasic operations and semantic information models
  • Improves handling of nested collections and dictionaries
  • Improves separation of declarations and executable code into codebehind and markup for ASP using alternate statement separator
  • Improves upgrading properties with optional arguments to a method

gmStudio: Upgrade Solution Development Environment

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

  • Improves ScriptRules file handling by allowing ScriptRule elements to be conditional.
  • Adds support for gmslAPI and upgrade tasks using a custom EXE rather than gmBasic
  • Improves Filter to Selection using both the Source Name and Task Tag
  • Improves Search Reports allow for XML files that are not in an expected GM meta-data format.
  • Improves Support for handling text files with different EOL conventions
  • Improves Library Description value reported in the Source References Report
  • Adds support for %ProjectFolder% parameter in Visual Studio Solution Generator project List
  • Improves IDF path reported in the Source Reference Report for ASP include references
  • Improves default ASP Site Upgrade Projects generated by Project Wizard; setting job type to MULTI, not CUSTOM

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 sample rules were updated to reflect the latest product improvements and conventions.

  • Improves scrrun.dll.xml sample
  • Improves default ScriptRules.xml file and documentation

Sample Upgrade Solutions

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 ASP/COM upgrade project and their testimonial of success with gmStudio.  Learn how a small team accelerated their ASP site 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 to make it more robust and flexible and so that it produces cleaner, more correct results. This distribution, Version 30.63, includes several enhancements:

  • Prevents authoring duplicate members in COM stub classes when a coclass implements same-named members for multiple interfaces
  • Improves accuracy of Reference Report for explicit calls to user-defined event handlers
  • Improves upgrading the Select Case Statement
  • Begins work on a .NET API for developing custom VB6/ASP/COM upgrade solutions

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

  • Adds support for using VS2017 IDE and the latest MSBuild
  • Adds support for setting .NET Framework Version using a registry command; for example:
    <Registry type="VSConfiguration" source="FrameworkVersion" target="v4.0.0" />
  • Improves Task Filter performance
  • Adds Filter to Selection operation to the task list context menu
  • Improves Global Stubs Report to create a build script for compiling a COM Stub Framework
  • Adds Copy to Search operation to copy selected text to the Search Panel
  • Improves .NET Code Scan when searching for multiple pattern strings
  • Improves support for recognizing Custom Translation scripts
  • Improves accuracy of late-bound dependencies reported in the Source References Report
  • Improves gmStudio Installer to meet all Windows 10 Desktop Product Certification Requirements
  • Adds Support for UI Color Themes even if they are not installed with Visual Studio
  • Improves accuracy of containing member reported in Source Scan Report
  • Improves handling of comments when searching User files or Custom 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.

  • Improves GlobalStubs.xml Script used to generate a COM stub framework
  • Improves GlobalStubs.cmd Script used to build a COM stub framework
  • Improves the Search Reporting templates

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.

  • Adds another WPF upgrade sample for the Calculator application (both C# and VB.NET)

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