gmStudio Release Notes
Mark Juras
Get the latest gmStudio from our downloads page.Requires registration with www.GreatMigrations.com |
Release Blog
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
gmBasic: Upgrade Engine
gmBasic is a computer language processor that reads, interprets, and rewrites VB6/ASP/COM systems for the .NET platform (using C# or http://VB.NET ). Based on feedback from our clients and real-world modernization projects, we continuously improve gmBasic so it will help developers more easily produce cleaner, more correct upgrade results. This distribution, Version 40.68, focused on enhancing some of the gmAPI-powered utilities that ship with gmStudio:
Improves Shared Files Consolidation utility to handle forms, and more complex code file consolidation requirements
Improves Generic Collections migration utility
Improves Custom CodeStyle utility to support using-qualified naming conventions rather than fully-qualified naming conventions
Improves Custom CodeStyle utility to support more intelligent reformatting of long-lines
In addition, it includes many enhancements in general translation cabapilities; for example:
Improves Ole Control layout properties to use Twips to Pixels adjustments
Improves handling DefLng and related DefType statements
Improves migrating of PropertyBag Color Properties
Improves the Support Framework generation feature
Improves ArrayToValue.csh code should use index 0
Improves Control.CausesValidation property and Validate Event
Improves SavePicture migration
Improves Reauthoring overloaded methods
Improves record of edits, errors, and warnings in translation log
Improves migration of COM controls
Improves migration of array assignments
Improves default framework to be v4.8.1 for VS2022
gmStudio: Upgrade Solution Development Environment
Powered by gmBasic, gmStudio is a platform 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 Edit ScriptRules File operation to References context menu
Adds Compare Files operation to Search Results context menu
Adds support for matching and reporting XPath locations when searching XML files
Improves batch processing to rebuild the VB6 project associated with an upgrade task
Improves All Logs Report to restrict results to selected project task(s)
Improves file filter behavior on Configuration form
Improves .NET Build report operation to also update NetBlds and NetSize fields in the task list
Improves global support framework generation script template
Improves default User Commands Batch processing script template
Improves the set of default scan patterns used for language compatibility reporting
Changes the default VS Version for new projects to VS2022
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. gmAPI is used to implement special purpose utilities in the gmStudio distribution and is updated to improve these utilities and to follow the latest conventions of the gmBasic platform.
Improves Shared Files Consolidation utility to handle forms, and more complex code file consolidation requirements
Improves Generic Collections migration utility
Improves Custom CodeStyle utility to support using-qualified naming conventions rather than fully-qualified naming conventions
Improves Custom CodeStyle utility to support more intelligent reformatting of long-lines
gmMetrics: Advanced Metrics Reporting tool
gmMetrics is a tool for reporting the content of system models generated by gmBasic. This includes Symbol Tables, References Reports, Definitions Reports, and Model Audits. gmMetrics is a console application written in C# using gmAPI. We maintain and enhance gmMetrics to keep it in sync with the model schema and to improve the reports.
gmStudio Extensions
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 ingmStudio Extensions Repository.
Adds example metalang rules to migrate PictureBox to gmRTL.GUI.PictureBox
Improves StubBaseClass rules in Environment.std.xml
Improves rules to migrate MSGrid.Grid to WinForms
Improves rules to migrate various Windows Common Controls to WinForms controls
Improves rules to migrate Scripting Runtime to System.IO
Improves rules to migrate TabDlg.SSTab runtime to WinForms.TabControl
Improves rules to migrate various Threed Controls to WinForms controls
gmRTL: Great Migrations Runtime Library
gmRTL is a sample runtime library that contains classes allowing for more readable translations. We continuously improve this framework in the course of project work. Learn more about gmRTLhere.
Improves support for ComboBox.Clear
Improves support for Array.Copy
Improves File System List Controls
Adds Ole Control
Sample Upgrade Solutions
Great Migrations publishes several sample VB6/ASP upgrade solutions that illustrate the various upgrade features. The samples upgrade solutions and results were updated to reflect the latest product improvements and conventions. Learn about the Sampleshere.
Updates all Samples to target VS2022 and Framework V4.8.1
gmStudio FAQs
Great Migrations publishes FAQ articles and other information to help teams learning and using gmStudio. You can findall of the gmStudio FAQs on the Great Migrations portal.The following "Support Statement" articles were added or updated since the last product update:
Adds Support Statement: How many programmers?
Updates Support Statement: Consolidating Shared Code Files
Updates Support Statement: gmStudio Licenses
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
gmBasic: Upgrade Engine
gmBasic is a computer language processor that reads, interprets, and rewrites VB6/ASP/COM systems for the .NET platform (using C# or VB.NET). Based on feedback from our clients and real-world modernization projects, we continuously improve gmBasic so it will help developers more easily produce cleaner, more correct upgrade results. Most recently, this work includes general improvements needed to automatically produce a build-complete C# version several systems:
- An Elector Roll Management System system comprised of 108 inter-related VBP files referencing 1.4M total LOC in 1,566 code files and using 49 COM libraries
- A Collaboration and Document Management Portal product comprised of 303 ASP pages and 380 #includes containing 75K unique LOC server-side logic and 45K ULOC markup.
- An ERP for the Sleep Products Industry comprised of 1 VBP referencing 445K LOC in 459 files and using 40 COM libraries
This distribution, Version 40.59, includes many enhancements; for example:
- Updates distribution to use 64-bit build for all system binaries
- Improves name conflict resolution
- Improves array type and rank inference
- Improves type inference
- Improves handling large numeric quantities in the form property bag code
- Improves handling calculations to adjust for Twips to Pixels
- Improves handling complex date calculations
- Improves handling calculations using Byte quantities
- Improves handling Picture types
- Improves handling PopupMenu
- Improves handling file IO using Get command
- Improves handling arrays in user-defined types
- Improves handling Response.CodePage in ASP
- Improves handling Collection.Ubound and Collection.Lbound for control arrays
- Improves handling complex conditional markup in ASP
- Improves handling complex formatting in ASP
- Adds Select.TargetFramework to allow setting the .NET Framework at the system level
gmStudio: Upgrade Solution Development Environment
Powered by gmBasic, gmStudio is a platform 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:
- Improves the VS Solution File Generator to allow Folders to occur multiple times
- Improves the .NET Build Log Report to update Last Message with build results in the Task list
- Adds Line Pragma support to ScriptRules command processor
- Adds Language Compatibility items for the standard Source Scan Report
- Corrects issue with validation of Migration Project name
- Corrects issue with refresh double-loading the left-side file in the side-by-side viewer
- Updates analytics reports to use gmMetrics executable rather than internal API
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest improvements and conventions in the gmBasic platform.
- Updates to use 64-bit builds
gmMetrics: Advanced Metrics Reporting tool
gmMetrics is a tool for reporting the content of system models generated by gmBasic. This includes Symbol Tables, References Reports, Definitions Reports, and Model Audits. gmMetrics is a console application written in C# using gmAPI. We maintain and enhance gmMetrics to keep it in sync with the model schema and to improve the reports.
- Updates to use 64-bit builds
gmStudio Extensions
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 Environment.std.xml StubBaseClass rules
- Improves GRID32.ocx to WinForms rules
- Improves mscomct2.ocx to Winforms rules
- Improves mscomctl.ocx to WinForms rules
- Improves TABCTL32.OCX to Wrapper rules
- Improves THREED32.ocx to WinForms rules
- Adds mig.vb7lang_PictureBox.xml to demonstrate migrating to a custom PictureBox
gmRTL: Great Migrations Runtime Library
gmRTL is a sample runtime library that contains classes allowing for more readable translations. We continuously improve this framework in the course of project work. Learn more about gmRTL here.
- Adds GUI.ControlHelper.UIndex/LIndex to support ControlArray.Ubound/Lbound
- Adds Core.WinFormsExtensions.Move(Control)
- Improves Core.FormatHelper.DateTime to strings
- Improves Core.ConversionHelper.DateTime.toStr
- Improves Core.ConversionHelper.toDateTime for TimeSpan
- Improves Core.FileSystemHelper.Dir operation
- Improves GUI.Frame border behavior
- Improves WPF.DirListBox to use generic event handlers
- Improves WPF.DriveListBox to use generic event handlers
Sample Upgrade Solutions
Great Migrations publishes several sample VB6/ASP upgrade solutions that illustrate the various upgrade features. The samples upgrade solutions and results were updated to reflect the latest product improvements and conventions. Learn about the Samples here.
- Updates all Samples to target VS2022 and Framework V4.8
gmStudio FAQs
Great Migrations publishes FAQ articles and other information to help teams learning and using gmStudio. You can find all of the gmStudio FAQs on the Great Migrations portal. The followiug "Support Statement" articles were added or updated since the last product update:
- Adds Support Statement: Surface Pattern Syntax
- Adds Support Statement: What does migStatus="external" stand for
- Updates Support Statement: Generating a Global Stub Framework
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
gmBasic: Upgrade Engine
gmBasic is a computer language processor that reads, interprets, and rewrites VB6/ASP/COM systems for the .NET platform (using C# or VB.NET). Based on feedback from our clients and real-world modernization projects, we continuously improve gmBasic so it will help developers more easily produce cleaner, more correct upgrade results. Most recently, this work includes general improvements needed to automatically produce a build-complete C# version of a Quality Control Platform system comprised of 500K VB6 LOC organized into 639 code files and using 15 COM libraries. This distribution, Version 40.53, includes many enhancements; for example:
- Adds Migrate@Default for modifying the default member for COM classes
- Adds migration of LockRange and UnlockRange
- Adds support for DefObj statement
- Corrects problem with event hookups in designer code; adds SpecializedHookup=on migration attribute for events (See this Support Statement)
- Increases limit for storing User-Defined event information
- Improves consistency between interfaces and implementing classes
- Improves translation of bitwise logic using Color quantities
- Improves handling FormShowConstants enum
- Improves handling vbTriState enum
- Improves resolution of User-Defined-Types defined in multiple places
- Improves resolution of enums defined in multiple places
- Improves migration of local const Color
- Improves migration of mixed type IIf
- Improves migration of Menu.WindowList
- Improves migration of array properties used with indexed expressions
- Improves migration of variables typed using type indicator characters
- Improves handling ByRef parameters in user-defined events
- Improves handling of the ! operator
- Improves handling of const initialized to an enum
- Improves handling is operator used with Controls and Components
- Improves handling of CDate(Empty)
gmStudio: Upgrade Solution Development Environment
Powered by gmBasic, gmStudio is a platform 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:
- Improves Side-By-Side Viewer to use the target language of the selected task when selecting for the translated file
- Improves Source Search unique files criteria to be case-insensitive
- Improves adds Reference satus to the Metrics Summary Report
- Corrects member name shown in Source Search report for ASP code
- Improves error reporting for RESX data generation process
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest improvements and conventions in the gmBasic platform.
gmMetrics: Advanced Metrics Reporting tool
gmMetrics is a tool for reporting the content of system models generated by gmBasic. This includes Symbol Tables, References Reports, Definitions Reports, and Model Audits. gmMetrics is a console application written in C# using gmAPI. We maintain and enhance gmMetrics to keep it in sync with the model schema and to improve the reports.
gmStudio Extensions
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 Environment.std.xml StubBaseClass rules
- Adds ListControls_ItemData.gmsl
- Improves VB6 language translation overrides sample (mig.vb7lang.xml)
- Improves Windows Common Controls (mscomct2.ocx) rules
- Improves Windows Common Controls (mscomctl.ocx) rules
- Improves MSOutline Control (msoutl32.ocx) rules
- Improves RichTextBox (richtx32.ocx) rules
- Improves Scripting (scrrun.dll) rules
- Improves Standard.Rules.xml sample
gmRTL: Great Migrations Runtime Library
gmRTL is a sample runtime library that contains classes allowing for more readable translations. We continuously improve this framework in the course of project work. Learn more about gmRTL here.
Sample Upgrade Solutions
Great Migrations publishes several sample VB6/ASP upgrade solutions that illustrate the various upgrade features. The samples upgrade solutions and results were updated to reflect the latest product improvements and conventions. Learn about the Samples here.
- Improves FileExplorer sample to demonstrate use of SpecializedHookup="on"
- Improves VBScan sample to demonstrate use of SpecializedHookup="on"
gmStudio FAQs
Great Migrations publishes FAQ articles and other information to help teams learning and using gmStudio. You can find all of the gmStudio FAQs on the Great Migrations portal. The followiug "Support Statement" articles were added or updated since the last product update:
- Using gmSL to determine if an optional argument was omitted
- ListView.Add example of using gmSL to map COM to .NET
- Generating a Global Stub Framework
- How does gmStudio run builds?
- Unused Symbol Analysis and Reporting
- Removing Code
- Translation Challenges
- Setting Scope for an ASP Site Upgrade
- MigrationSupport (gmRTL) Source Code
- What does migStatus="external" stand for
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
gmBasic: Upgrade Engine
gmBasic is a computer language processor that reads, interprets, and rewrites VB6/ASP/COM systems for the .NET platform (using C# or VB.NET). Based on feedback from our clients and real-world modernization project work, we continuously improve gmBasic so it will help developers more easily produce cleaner and more correct upgrade results. Most recently, this work includes general improvements needed to automatically produce a build-complete C# version of a three-tier Electoral Commission Role Management System comprised of 1.2M VB6 LOC organized into 89 VBPs using over 30 COM APIs and controls . This distribution, Version 40.49, includes enhancements; for example:
- Improves migration of user-defined events to use sender/EventArgs conventions
- Improves migration of multi-type code using conditional typing based on the typeof operator
- Adds more type inference for symbols declared as Object
- Adds Refactor/Remove for Events
- Improves GoSub refactoring
- Begins work on a 64bit distribution (coming soon)
gmStudio: Upgrade Solution Development Environment
Powered by gmBasic, gmStudio is a platform 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:
- Improves Net Build Log Report to update last message field for each Task
- Improve License handling when ASP LOC=0
- Improves Specification Code Generator set UserCmds.cmd file to writable
- Improves VisualSolution Generator to support nested folders
- Improves parsing .NET Build Log when parallel build is in effect
- Improves member location reported by Target Code Scan and .NET Build Log Reports (VB.NET)
- Improves search by preventing accidentally searching for blanks
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest improvements and conventions in the gmBasic platform.
- Improves implementation of the custom CodeStyle capability to use new XML-driven gmAPI conventions
- Improves implementation of the WPF migration capability to use new XML-driven gmAPI conventions
gmMetrics: Advanced Metrics Reporting tool
gmMetrics is a tool for reporting the content of system models generated by gmBasic. This includes Symbol Tables, References Reports, Definitions Reports, and Model Audits. gmMetrics is a console application written in C# using gmAPI. We maintain and enhance gmMetrics to keep it in sync with the model schema and to improve the reports.
gmStudio Extensions
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 COM replacement rules for Scripting Runtime to System.IO
- Improves COM replacement rules for CommonDialog to WinForms common Dialog controls
- Improves COM replacement rules for Windows Common Controls to WinForms
- Improves Sample rules for custom VB6 Language replacements
gmRTL: Great Migrations Runtime Library
gmRTL is a sample runtime library that contains classes allowing for more readable translations. We continuously improve this framework in the course of project work. Learn more about gmRTL here.
- Updated to use Framework V4.7.2
Sample Upgrade Solutions
Great Migrations publishes several sample VB6/ASP upgrade solutions that illustrate the various upgrade features. The samples upgrade solutions and results were updated to reflect the latest product improvements and conventions. Learn about the Samples here.
- Improves WPF Samples to user the new XML-Driven custom upgrade processor conventions rather than the deprecated GM Migration Utility approach.
gmStudio FAQs
Great Migrations publishes FAQ articles and other information to help teams learn and use gmStudio. You can find all of the gmStudio FAQs on the Great Migrations portal. The followiug articles were added or updated since the last product update:
- Support Statement: Removing a container control (e.g. vsElastic )
- Support Statement: Unused Symbol Analysis and Reporting
- Support Statement: Improving Type Inference for MSHTML
- Support Statement: Sample Migration of CommonDialog to Winforms
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
gmBasic: Upgrade Engine
gmBasic is a computer language processor that reads, interprets, and rewrites VB6/ASP/COM systems for the .NET platform (using C# or VB.NET). Based on feedback from our clients and real-world modernization project work, we continuously improve gmBasic so it will help developers more easily produce cleaner and more correct upgrade results. This distribution, Version 40.44, includes many enhancements; for example:
- Improves adjustment of Twips to Pixels in complex calculations
- Improves RootNameSpace in C# project files
- Improves the gmSL runtime to allow Cross-Class function calls
- Improves Conditional Stubout for VBN
- Improves GenericCollections migration
gmStudio: Upgrade Solution Development Environment
Powered by gmBasic, gmStudio is a platform 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 GMEXEC:Script Convention for running custom GMAPI executables
- Adds Edit/Find to the file content display box on the Settings form
- Improves Target Code Scan Report to correctly report member rather than statement label
- Improves performance of %ReferenceList% detokenization
- Improves Translation Log Report for XMLERRORs and EMRROOM errors
- Improves managing System Metalang Files from settings screen
- Improves editing CodeSearchList and SearchTemplate
- Improves naming convention for script templates created
- Improves default translation scripts to use OptionalArguments=On
- Improves hot-key handling on Task Attributes Dialog
- Improves default button behavior on Filter Dialog
- Improves COM dependency analysis for ASP code
- Improves Reference information panel and Analytics Report error handling
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest improvements and conventions in the gmBasic platform.
- Adds new XML-driven execution model for custom upgrade engines developed with gmAPI
gmMetrics: Advanced Metrics Reporting tool
gmMetrics is a tool for reporting the content of system models generated by gmBasic. This includes Symbol Tables, References Reports, Definitions Reports, and Model Audits. gmMetrics is a console application written in C# using gmAPI. We maintain and enhance gmMetrics to keep it in sync with the model schema and to produce new reports.
gmStudio Extensions
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 COM replacement rules for Scripting Runtime to System.IO
- Improves COM replacement rules for CommonDialog to WinForms common Dialog controls
- Improves COM replacement rules for Windows Common Controls to WinForms
gmRTL: Great Migrations Run Time Library
gmRTL is a sample runtime library that contains classes allowing for more readable translations. Learn more about gmRTL here.
- Various additions and refactoring
- Adjustments to support changes in sequence of gmRTL processing
Sample Upgrade Solutions
Great Migrations publishes several sample VB6/ASP upgrade solutions that illustrate the various upgrade features. The samples upgrade solutions and results were updated to reflect the latest product improvements and conventions. Learn about the Samples here.
- Improves samples to use OptionalArguments=on
gmStudio FAQs
Great Migrations publishes FAQ articles and other information to help teams learn and use gmStudio. Several new articles where posted since the last product update. You can find all of the gmStudio FAQs on the Great Migrations portal. Please feel free to contact us with questions anytime.
- Support Statement: Upgrading a COM Component property to a WinForms Static property
- Support Statement: Dealing with Twips to Pixels
- Support Statement: GlobalSettings enhancements
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
egmBasic: Upgrade Engine
gmBasic is a code transformation engine 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 developers more easily produce cleaner and more correct upgrade results. Most recently, this work includes general improvements needed to automatically produce build-complete VB.NET and C# versions of a document/workflow management system comprised of 213K LOC and of a regional government license administration system comprised of 250K LOC. This distribution, Version 40.39, includes many enhancements; for example:
- Improves migration of strings from FRX file to Designer code
- Improves handling naming conflicts between enums and fields
- Improves migration of type-inferred Variant-array used with empty string
- Improves migration of logic comparing IntPtr and zero
- Improves migration of Load control statement with a type-inferred ControlArray
- Improves inferring the type of Object as a strongly-typed ControlArray
- Improves migrating optional default Date parameter values
- Improves generation of EventArgs classes in the Stub Framework
- Improves migration of event handlers with weakly-typed parameters
- Improves migration of OLE_HANDLE used as a method parameter
- Improves inference of weakly-typed parameter based on Array() argument
- Improves migration of complex conditional expressions with both bitwise and logical operations
- Improves handling of AlignmentConstants and control.Alignment properties
- Improves Twips to pixels migration to a Const
- Improves recognizing types imported from external libraries used in RefactorLibraries
- Improves csproj and vbproj generation to follow current Visual Studio conventions
- Improves migration of Printer.KillDoc
- Improves recognizing the type of ControlArray elements
- Improves handling one-line With blocks using alternate statements separator
- Improves interpreting expressions of the form Me.frmX.Controls!name
- Improves migrating For Each ctl in Me.Controls
- Improves handling COM APIs where there is a name clash of the library and one of its classes (SSPlitter)
- Improves migrating Do-While where the loop control variable is declared within the body of the loop
- Improves migrating Select-Case using a constant Select value over different constant case values
- Improves migrating of VB4AppearanceConstants
- Improves handling methods calls passing a ColorConstant argument to an OLE_COLOR parameter
- Improves migrating event handlers for ControlArrays
- Improves migration of ControlArray used as a With block variable
- Improves migration of conditional expressions using default property
- Improves migration of logical calculations involving enum and bool
- Improves migration of the Implication operator (Imp)
- Improves migration of For Each over an enumerable COM property
- Improves migration of Get Property return values
- Improves comparisons involving stdole.StdPicture
- Improves migration of Debug.Print using Tab() function
- Improves migration of Button.Default property to AcceptButton
- Improves migrating complex logic expression involving Long, Boolean, and bitwise operation
- Improves handling of computations using Currency and Double
- Improves migration of recursive functions passed as an argument in the recursive call
- Improves using refTemp for an argument passed to object! operation.
gmStudio: Upgrade Solution Development Environment
Powered by gmBasic, gmStudio is a platform 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 Visual Studio 2022 support for authoring VS022 projects and integrating with VS2022 IDE
- Adds Analytics Unused Symbols Report
- Adds Analytics Late Calls Report
- Improves Iceberg Report to reflect new build-path conventions
- Improves References Report to include IdfPath and IdfType even if the IDL contains TLI warnings
- Improves COM Reference searches and Snapshot comparison to use TaskTag-specific folder content
- Improves Task Removal confirmation dialog to show number of tasks selected for removal
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest improvements and conventions in the gmBasic platform.
- Improves API for Unused Symbols and Late Calls Analysis
gmMetrics: Advanced Metrics Reporting tool
gmMetrics is a tool for reporting the content of system models generated by gmBasic. This includes Symbol Tables, References Reports, Definitions Reports, and Model Audits. gmMetrics is a console application written in C# using gmAPI. We maintain and enhance gmMetrics to keep it in sync with the model schema and to produce new reports.
gmStudio Extensions
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 COM replacement Scripting Runtime to System.IO rules
- Improves ListBox/ComboBox ItemData FRX to Designer code migration script
gmRTL: Great Migrations Run Time Library
gmRTL is a sample runtime library that contains classes allowing for more readable translations. Learn more about gmRTL here.
- Improves ListBox/ComboBox ItemData Support logic
- Adds stub methods for Printer, Help, and Control support
Sample Upgrade Solutions
Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions and results were updated to reflect the latest product improvements and conventions. Learn about the samples here.
- Improves the FMStocks Web Site sample for VB.NET
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
gmBasic: Upgrade Engine
gmBasic is a code transformation engine 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 developers more easily produce cleaner and more correct upgrade results. Most recently, this work includes general improvements needed to produce build-complete C# code for a Retail ERP system having 1.2M LOC organized into 73 inter-related VBPs, and to produce build-complete VB.NET code for a Construction Project Management System having 800K LOC organized into 31 inter-related VBPs. The release also includes a sophisticated new utility, gmGlobal, that can automate the process of identifying dead code. This major distribution, Version 40.34, includes many enhancements; for example:
- Improves inference of array rank when a undimensioned variant is used as an array
- Improves migration of Object inferred as Form used with For Each
- Improves migration of the VB6 intrinsic Input function to a Generic method
- Improves overall correctness of results when using the Shared Files consolidation capability
- Improves overall correctness of results when using the Optional Arguments capability
- Improves declaration of stub controls that override Name property
- Improves the Global Stub framework for systems that use Implements commands
- Improves assembly references added for GlobalStubs translations
- Improves avoiding a name clash between external class name and module field
- Improves ability to recognize methods called like properties
- Improves stub framework generation to allow implementing multiple interfaces (VB.NET)
- Improves stubbing Readonly properties (VB.NET)
- Improves handling of date literal assigned to const (VB.NET)
- Improves handling of operations that involve a late-bound implicit default property
- Improves the behavior of Refactor/Remove
- Improves migration of array properties
- Improves handling name clash between method and one of its parameters
- Improves vbCrLf used as an optional parameter default (VB.NET)
- Improves translation of late bound reference to a collection item
- Improves handling of codes declaring symbols that clash with VB.NET reserved words
- Improves handling migration of GoSub in methods declaring optional parameters
- Improves logic to detect implicit conversions that must be made explicit (VB.NET)
- Improves logic to make default property reference explicit for a Select Case (VB.NET)
- Improves detecting and reporting undeclared identifiers
- Improves initializing const symbols using an enum entry
- Improves reference tracking to allow for Unused symbol analysis
- Improves csproj and vbproj content to follow current Visual Studio conventions
- Improves processing more HTML5 tags in ASP translations
gmStudio: Upgrade Solution Development Environment
Powered by gmBasic, gmStudio is a platform 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:
- Changes Trial License limits; increases duration to 30 days; lowers LOC limits: VB6=5,000 LOC, ASP=2,500 LOC
- Adds Source Member to .NET Build Log Report and Target Code Scan Report for VB.NET translation tasks
- Adds Translation Audit as a new type of report
- Improves IDL generator to allow reporting hidden coclasses
- Improves Target Code Scan to report TaskTag rather than File extension in the LocType field
- Improves Ctrl-C handling to follow control having focus
- Improves Task-list Hot-Key handling
- Adds Alt-G as hotkey to Generate and Open VS Solution file
- Improves All IDF Scan to search all IDF folders
- Corrects issue where malformed XML attributes in ScriptRules file caused gmStudio to hang or crash
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest improvements and conventions in the gmBasic platform.
- gmAPI was extended and used to implement gmGlobal, a utility that identifies and reports unused symbols across multiple inter-related VBPs.
- Adds several low-level functions to support reference analysis
gmMetrics: Advanced Metrics Reporting tool
gmMetrics is a tool for reporting the content of system models generated by gmBasic. This includes Symbol Tables, References Reports, Definitions Reports, and Model Audits. gmMetrics is a console application written in C# using gmAPI. We maintain and enhance gmMetrics to keep it in sync with the model schema and to produce new reports.
- Adds more detailed symbol usage data to Semantic Audit Reports
- Improves accuracy of References Report
- Improves accuracy of Definitions Report
gmStudio Extensions
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 Environment.std.xml with additional StubBaseClass entries
- Adds sample gmGlobalIncludes.gmsl and gmGlobalIncludes.xml to Global Includes analysis
- Adds MSCAL.ocx.WinForms.Refactor.xml
- Adds MSWORD.OLB.Interop.Refactor.xml
gmRTL: Great Migrations Run Time Library
gmRTL is a sample runtime library that contains classes allowing for more readable translations. Learn more about gmRTL here.
- Adds gmRTL.GUI.PictureBoxExtended control to support drawing graphics on a PictureBox
Sample Upgrade Solutions
Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions and results were updated to reflect the latest product improvements and conventions. Learn about the samples here.
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
gmBasic: Upgrade Engine
gmBasic is a code transformation engine 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 includes general improvements needed to produce build-complete C# and VB.NET code based for several enterprise systems containing over 2M LOC organized into dozens of inter-related VBPs. This major distribution, Version 40.30, includes several enhancements:
- Adds support for specifying a base class for controls in the stub framework
- Improves the quality of translations for systems of many inter-related VBPs
- Improves handling numeric const values declared with type indicator character
- Improves expression of VB File IO Operations: LOF, Seek, FileCopy
- Improves handling of parameters declared As Any
- Improves handling of name clashes between global symbols
- Improves handling of PictureBox.Image.Set
- Improves type inference for variants used as arrays
- Improves inferring the number of dimensions for array parameters
- Improves handling undeclared variables when archaic typing directives (e.g. DefInt) are in use
- Improves handling Select-Case with byte compared to enum entry
- Improves translation for integer division for VB.NET
- Improves conversion of string to double for VB.NET
- Improves GoSub migration to support references to local const variables
- Improves GoSub migration when subroutines are refactored out of functions for VB.NET
- Improves handling of comments in ASP translations
- Improves migrating parameterized properties
- Improves migrating enumerations in COM libraries
- Improves migrating methods with optional arguments
- Improves migrating Select Case Is... with Date variables
- Improves migrating VB.Line geometry from Twips to pixels in designer code
- Improves handling of interfaces when generating translation for a system of inter-related VBPs
- Improves handling of custom events and event handlers when generating translation for a system of inter-related VBPs
- Improved migration of On Error handling to try-catch
gmStudio: Upgrade Solution Development Environment
Powered by gmBasic, gmStudio is a platform 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 Reset Filter item to Toolbar Filter button
- Adds Line Pragma (%LN%) to ScriptRule pre-processor and editor integration
- Adds option to create a starter for a hand-coded IDF (e.g. for when IDF cannot be generated from COM)
- Improves handling of Task List context menu hotkeys when task list does not have focus
- Improves handling of Task Filtering hotkeys
- Improves conventions for using custom tools with gmStudio project tasks
- Improves logic for merging ScriptRule elements into the translation script in the order they are defined in the ScriptRules file
- Improves user folder scan by suppressing matches in CodeScanList.txt
- Improves Source Metrics Report to include DSX report data
- Improves Side-by-Side Viewer to include DSX report data
- Improves IDF generator to handle typedefs for auto properties in IDL for interop assemblies
- Improves Title of the Side-by-Side Viewer panels
- Improves Information Panel grid data cache/refresh behavior
- Improves Side-by-Side viewer for use with VBScript classes
- Improves .NET Build Log reporting performance and editor integration
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest improvements and conventions in the gmBasic platform.
gmMetrics: Advanced Metrics Reporting tool
gmMetrics is a tool for reporting the content of system models generated by gmBasic. This includes Symbol Tables, References Reports, Definitions Reports, and Model Audits. gmMetrics is a console application written in C# using gmAPI. We maintain and enhance gmMetrics to keep it in sync with the model schema and to produce new reports.
- Adds option to generate System Metalanguage Information File Audit
- Improves the quality of reference location reporting for ASP systems
gmStudio Extensions
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.
- Adds sample Environment.std.xml to the gmStudio standard distribution
- Adds sample rules for setting the base class for classes in the stub dependency framework
gmRTL: Great Migrations Run Time Library
gmRTL is a sample runtime library that contains classes allowing for more readable translations. gmRTL namespace and class structure conventions will replace the legacy RTL conventions in the next gmStudio release. The old conventions (MigrationSupport, MigrationSupportUI, etc.) will be deprecated, but still available as custom migration options. Learn more about gmRTL here.
Sample Upgrade Solutions
Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions and results were updated to reflect the latest product improvements and conventions. Learn about the samples here.
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
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 includes general improvements needed to produce build-complete C# code for a Construction ERP product. This system is 31 inter-related VB6 project components containing 820K LOC organized into 1,125 code files and supported by 46 external COM libraries. This distribution, Version 40.25, includes several enhancements:
- Improves handling the default member operator, '!'
- Improves handling inferring implicit references to default members
- Improves handling of logic using ControlArrays
- Improves handling recognizing references to unqualified global enumeration entries
- Improves handling numeric literals using exponential notation
- Improves handling of numeric values using hexadecimal notation in IDL to IDF
- Improves parsing ASP attribute values containing complex VBScript logic
- Improves migration of a local method to a custom call pattern
- Improves migration of VBP information to AssemblyInfo content
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:
- Improves logic that maintains the Workspace runtime folder
- Improves performance of .NET Build Log Report and the associated listing in the UI
- Improves IDL/IDF handling of const = Infinity
- Improves spawning a process without console logging
- Improves ScriptRule command to allow script variables in the id attribute
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest product improvements and conventions.
gmMetrics: Advanced Metrics Reporting tool
gmMetrics is a tool for reporting the content of system models generated by gmBasic. This includes Symbol Tables, References Reports, Definitions Reports, and Model Audits. gmMetrics is a console application written in C# using gmAPI. We maintain and enhance gmMetrics to keep it in sync with the model schema and to produce new reports.
gmStudio Extensions
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.
- Adds MSCAL.ocx.WinForms.Refactor.xml
- Improves GM.MSCAL.OCX.xml
- Improves mscomctl.ocx.WinForms.Transform.gmsl
- Improves scrrun.dll.Transform.gmsl
- Improves StubControlBaseClass.Rules.xml
- Improves StubControlBaseClass.xml
- Improves wpfSubsystem.gmsl
gmRTL: Great Migrations Run Time Library
gmRTL is a sample runtime library that contains classes allowing for more readable translations. gmRTL namespace and class structure conventions will replace the legacy RTL conventions in the next gmStudio release. The old conventions (MigrationSupport, MigrationSupportUI, etc.) will be deprecated, but still available as custom migration options. Learn more about gmRTL here.
- Improves gmRTL.GUI.ControlHelper.GetDrawStyle/SetDrawStyle.style
Sample Upgrade Solutions
Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions and results were updated to reflect the latest product improvements and conventions. Learn about the samples here.
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
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 includes a number of improvements providing special features that are helpful for real-world system modernization projects. This distribution, Version 40.18, includes several enhancements:
- Completes the transition to gmRTL conventions for the runtime support framework
- Adds support for migrating project metadata from VBPs (Title, Description, etc.) to attributes in AssemblyInfo files
- Adds support for property status="Out+static" to author static readonly properties
- Adds support for PreEdit_VBS and PostEdit_VBS operations for translations requiring the VBScript to JavaScript feature
- Adds support for triggering a using/Imports statement for namespaces containing extension methods
- Improves migration of Mid function when used on Left-Hand side of an assignment
- Improves migration of CheckBoxConstants Enumeration
- Improves migration of PropertyBag.Contents property
- Improves migration of code using ActiveControl property
- Improves migration of optional arguments with DeleteSetting function
- Improves migration of optional arguments with Format function
- Improves migration of properties having both Let and Set routines
- Improves migration of large JPG images from FRX files to RESX files
- Improves migration of same-named #includes and Pages in a folder
- Improves migration of functions using GoSub statements
- Improves migration of On Error Goto to try/catch
- Improves migration of VB.Shape operations to use a gmRTL.GUI.ShapeControl class
- Improves migration of VB.App operations to use gmRTL.Core.App class
- Improves migration of comments longer than 512 characters
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 Side-By-Side Viewer when migrating ASP with client-side VBScript to ASP with client-side JavaScript
- Adds feature to AutoSelect the Standard Assessment reports at the click of a button
- Adds gmSharedFile.exe to the installation allowing the new approach to shared files consolidation
- Improves ScriptRule transformation and logging conventions
- Improves documentation and usage of the ScriptRule/Foreach feature
- Corrects the Search/Replace feature to allow successive runs without content duplication
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest product improvements and conventions.
- Adds properties to the Project class allowing access to VBP metadata (Title, Description, etc.)
gmMetrics: Advanced Metrics Reporting tool
gmMetrics is a tool for reporting the content of system models generated by gmBasic. This includes Symbol Tables, References Reports, Definitions Reports, and Model Audits. gmMetrics is a console application written in C# using gmAPI. We maintain and enhance gmMetrics to keep it in sync with the model schema and to produce new reports.
gmStudio Extensions
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.
- Upgrades the gmStudio Extension files to use gmRTL conventions
gmRTL: Great Migrations Run Time Library
gmRTL is a sample runtime library that contains classes allowing for more readable translations. gmRTL namespace and class structure conventions will replace the legacy RTL conventions in the next gmStudio release. The old conventions (MigrationSupport, MigrationSupportUI, etc.) will be deprecated, but still available as custom migration options. Learn more about gmRTL here.
- Completes the transition to gmRTL conventions for runtime support framework
- Adds a gmRTL.GUI.ShapeControl control class to emulate VB.Shape
- Adds a gmRTL.Core.App class to emulate VB.App
Sample Upgrade Solutions
Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions and results were updated to reflect the latest product improvements and conventions. Learn about the samples here.
- Updates all samples to work with latest conventions and the gmRTL runtime support assembly
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
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 includes a number of improvements providing special features that are helpful for real-world system modernization projects. This distribution, Version 40.14, includes several enhancements:
- Improves the stub framework generation feature improving its speed, precision, and flexibility and setting the stage for stubbing out a better organized runtime library framework (gmRTL)
- Improves support for generating and using a stub framework that uses extension methods in multiple namespaces
- Improves ASP processing to allow up to 128 #include directives in a single page
- Improves Select-Case migration to allow up to 2048 Case branches
- Improves behavior of ComputeConditional=Clean to completely remove inactive code from generated results
- Improves handling and capacity of local code storage (i.e., the number of operations in a single subroutine or ASP page is limited only by available memory)
- Improves support for rewriting client-side VBScript to JavaScript in ASP to ASP.NET translations
- Corrects name collisions in ASP translations for sites having same-named files (e.g. file.asp and file.inc in the same folder)
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 WorkFolder Script Variable (e.g., \...\proj\log)
- Adds logic to automatically create and use a project-specific UserCmd.cmd file if one is not present when the user tries to edit the file
- Adds logic to automatically create and use a project specific Search Terms-List/Report-Template file when the user tries to edit the file
- Adds support for displaying corresponding VBScript (*.vbs) source and JavaScript (*.jvs) translations in the SideBySide viewer
- Adds support for reporting pre-processed code to a different folder (AuditSource Utility Report)
- Adds support for restricting gmMetrics Report to the WebProjectFile when reporting an ASP site translation
- Adds support for setting the Encoding/CharacterSet used by gmStudio
- Adds the option to display a comparison of System Default and Project-Specific folders
- Improves readability of Translation Log Report
- Improves default Visual Studio IDE to use VS2019
- Improves error checking and reporting for deployment operations
- Improves license management when operating in Reporting-Only mode
- Improves the Custom Search folder picker to allow selecting any file path
- Improves usability of the License Request form
- Improves usability of the New Project Wizard Options form
- Improves usability of the User Defaults form (auto set Goto Command Line when selected editor is Notepad++)
- Improves site script created by the Project Wizard for an ASP upgrade project
- Corrects problem with SaveAs not opening the newly saved project file
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest product improvements and conventions.
- Adds the SupportLibraries field to the FileInfo structure indicating the list of SupportLibraries required to support extension methods in that file
- Improves support for using a custom metalanguage vb7lang.vbi during gmAPI startup
- Improves the WPFSubSystem utility to allow migrating to gmRTL
gmMetrics: Advanced Metrics Reporting tool
gmMetrics is a tool for reporting the content of system models generated by gmBasic. This includes Symbol Tables, References Reports, Definitions Reports, and Model Audits. gmMetrics is a console application written in C# using gmAPI. We maintain and enhance gmMetrics to keep it in sync with the model schema and to produce new reports. This distribution includes several enhancements:
- Adds the AuditSource Utility Report to generate a Pre-Processed version of source codes; e.g., a pre-edited code, or a non-conditional code from a conditional code
- Improves the Model Audits to report the SupportLibraries field for each file indicating the list of SupportLibraries needed for the extension methods in that file
gmStudio Extensions
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 documentation in sample GlobalIncludes.xml script
gmRTL: Great Migrations Run Time Library
gmRTL is a sample runtime library that contains classes allowing for more readable translations. gmRTL namespace and class structure conventions will replace the legacy RTL conventions in the next gmStudio release. The old conventions (MigrationSupport, MigrationSupportUI, etc.) will be deprecated, but still available as custom migration options. Learn more about gmRTL here.
- Adds gmRTL.Core to standard distribution
Sample Upgrade Solutions
Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions and results were updated to reflect the latest product improvements and conventions. Learn about the samples here.
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
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 includes the general improvements needed to produce build-complete C# code for a Courier Management System. This application includes 5 VB6 Dlls coded as 300K LOC of VB6 and over 150 ASP pages containing 40K LOC or markup and over 100K LOC of client-side VBScript. This distribution, Version 40.09, includes several enhancements:
- Improves support for rewriting client-side VBScript to JavaScript in ASP to ASP.NET translations
- Improves support for rewriting stand-alone VBScript files as JavaScript files with the VBSTranslate command
- Improves GenericCollections feature
- Improves support for migrating Scripting.Dictionary in ASP codes
- Improves performance of translation process (larger systems complete up to 20% faster)
- Improves COM interface description files containing classes named "...Events"
- Improves stub framework methods to throw NotImplemented exception
- Improves processing Print statement with international characters
- Continues work to allow more organization of runtime support framework
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 file name filter when viewing configuration files
- Adds means of toggling the Ignore Task Filter from the ToolBar
- Adds support for Create Specification Codes for ASP Upgrade projects
- Adds Refresh content operation in the Side-by-Side Viewer
- Adds Edit file operation in the Side-by-Side Viewer
- Adds support for reporting client-side VBScript LOC in the Source Structure Report for ASP pages
- Adds support for running a custom tool by specifying script/TOOL:toolpath in a tasks TScript field
- Adds ability to prune tasks from a gmProj if not found in a list of tasks to keep
- Improves default template translation scripts
- Improves User Command batch command line integration
- Improves UI feedback when Rebuilding the Metalang file
- Improves Reference Parser to handle non-standard Object= statements
- Improves accuracy error member reported in .NET Build Log Report
- Improves consistency of reported time stamps; all reports to use 24h format
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest product improvements and conventions.
- Improves support for using a custom metalanguage vb7lang.vbi during gmAPI startup
- Updates the ASP GlobalIncludes sample script to use the gmGlobalIncludes migration utility
gmStudio Extensions
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 sample UserCmd.cmd file to illustrate translation change reporting
Sample Upgrade Solutions
Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions and results were updated to reflect the latest product improvements and conventions. Learn about the samples here.
- Improves sample batch processing scripts
- Updates the ASP GlobalIncludes sample script to use the gmGlobalIncludes migration utility
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
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 includes the general improvements needed to produce build-complete C# code for a Metal Plating ERP system. This system is a single executable: 280K LOC organized into 135 code files supported by 28 COM libraries. This release also includes significant improvements to ASP processing. This distribution, Version 40.05, includes several enhancements:
- Adds support for using OEM or ANSI File API to support international codepages
- Adds support for user-defined NoWarn settings, Registry type="ProjectSetting" source="NoWarn"
- Improves arrays declared with const dimensions
- Improves ToolTip operations performed outside of declaring form
- Improves integer to datetime conversion done in designer code
- Improves late-bound ControlArray.LBound and ControlArray.Count
- Improves comment-only VBScript tags in ASP
- Improves handling same-named include files in ASP
- Improves AfterBuild setting for ASP
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 setting the OEM/ANSI File API used by gmBasic
- Adds support for setting the character encoding (using chcp) used when running batch tasks
- Improves Solution Generator to use Platform=AnyCPU
- Improves handling of file IO standardizing on UTF-8
- Corrects exception when applying task filter to large projects (e.g. 5000+ ASP pages)
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest product improvements and conventions.
- Improves support for using a custom metalanguage vb7lang.vbi during gmAPI startup
gmStudio Extensions
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 Batch Command script for ASP deployments in sample userCmd.std.cmd
- Improves preset for Translation Audit in sample CodeScanList.txt
- Improves rules for ADODB 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 and results were updated to reflect the latest product improvements and conventions. Learn about the latest samples here
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
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 changes how the tool is extended to perform advanced upgrade analysis and transformation. This distribution, Version 40.03, includes several enhancements:
- Improves gmSL, gmAPI, and Migration Utility frameworks for integrating custom migration and reporting rules with the Upgrade Engine. Our scripting language (gmSL) and C#-based API (gmAPI) were extended to enable a new programming model: Migration Utilities. These technologies allow "deep" code analysis and refactoring and simpler integration with gmStudio and debugging with Visual Studio. Some of these deep migration features were implemented using the C-based gmNI (GM Native Interface) programming model. gmNI was an internal-use-only technology. gmNI has been replaced by C#/gmAPI solutions that may be modified by upgrade teams as needed.
- Several Migration Utilities, implemented in gmAPI/C#, are now part of the standard distribution:
- gmCodeStyle.exe implements the custom coding style transformations
- gmSharedFile.exe implements the shared file analysis and reporting that enables shared file consolidation
- gmGlobalIncludes.exe implements the global analysis of #include files in an ASP and directs migrating web sites with complex #include file dependencies
- gmWPFSubsystem.exe implements the migration of VB6 Forms layout and logic to XAML and WPF APIs
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 invoking Migration Utilities during Translation Script processing
- Adds support for User-Command-Only tasks in a migration project simplifying the use of external tools during batch processing
- Improves performance of COM reference analysis when setting up an ASP site, particularly in the New Project Wizard
- Improves progress and error reporting in the UI
- Improves handling duplicate file names in an ASP site
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest product improvements and conventions.
- Various improvements to gmAPI allowing Migration Utility approach to building gmBasic extensions
- Various improvements to gmSL to make it more interchangeable with gmAPI
gmStudio Extensions
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.
- Simplifies the gmSL scripts implementing the deep migrations for Windows Common Controls (MSCOMCTL) to WinForms
Sample Upgrade Solutions
Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions and results were updated to reflect the latest product improvements and conventions.
- Improves the WPFCalculator sample to use gmWPFSubsystem Migration Utility
- Improves the WPFScanTool sample to use gmWPFSubsystem Migration Utility
![557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed User icon: 557058:1edf8d9d-6a73-4cb8-861d-24f08cb981ed](/wiki/s/-1537254593/6452/a0a612059653edc6bf5ec4eeefe0f162fca18a67/_/images/icons/profilepics/anonymous.png)
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 an Manufacturing Reporting System. This system is an ASP web site organized in 123 web page files that reference 26 #include files. The site also depends on 8 COM libraries. This distribution, Version 31.25, includes several enhancements:
- Adds support for using BuildFile=global in ASP translations
- Adds Migration Utility extension framework for developing custom migration rules in C# and integrating them with the Upgrade Engine
- Improves gmSL and gmAPI API features and functions
- Improves handling ExitDo and ExitFor particularly when occurring in a Select-Case
- Improves handling the intrinsic Array function in a file having Option Base 1
- Improves handling Arrays dimensioned with a forward-reference to const
- Improves handling vbNullString
- Improves support for migrating VBScript Intrinsic Functions in ASP translations
- Improves support for migrating Cookies collections in ASP translations
- Improves support for migrating ScaleMode-related GUI Properties
- Improves CodeStyle feature by implementation using gmAPI
- Improves Client-Side VBScript to JavaScript translation in ASP translations
- Improves migration of variables declared with WithEvents
- Improves metalanguage file handling to allow finding a file by standard path resolution as well as metalanguage folder resolution
- Improves specification of ASPNET_Compiler build for ASP translations
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 option to search the analyzed model audit report
- Adds option to report for multiple Search Reporting modes simultaneously
- Improves logic to identify Server-Side code blocks in ASP metrics analysis
- Improves date formatting to be standard across all reports
- Improves member location in the Target Code Search Report (C# only)
- Improves installer to allow launching gmStudio after install
gmAPI: a .NET API for Developing Advanced Upgrade Solutions
Powered by gmBasic, gmAPI is a .NET API for automating our upgrade engine and accessing the semantic models produced by our unique linguistic compilation technology. gmAPI also includes classes for managing complex upgrade rules and integrating with gmStudio. This API was updated to reflect the latest product improvements and conventions.
- Adds Migration Utility approach to building gmBasic extensions
- Improves gmBasic.Terminate to ensure all information manager storage areas are closed
gmStudio Extensions
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.
- Adds and updates extensions following the recommended file naming conventions
- Adds msscript.ocx.ClearScript.Refactor.xml
- Adds over 65 extension rule files installed with the product
- Improves WPFSubsystem.gmsl to handle nested menus better
Sample Upgrade Solutions
Great Migrations publishes a number of sample VB6/ASP upgrade solutions to illustrate the capabilities of gmStudio. The sample upgrade solutions and results were updated to reflect the latest product improvements and conventions.
- Improves all Samples to target Visual Studio 2019
- Improves ScanTool Sample to be compatible with Windows10 (msxml6.dll changes)
- Improves vb3DDefine Sample to use latest version of ClearScript API
- Improves sample runtime support library to include a Shape control
- Improves sample runtime support library to include a Line control
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("Progid") 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
-
Blog: gmStudio Release News: Monday, 22-April-2024
created by
Apr 22, 2024
-
Blog: gmStudio Release News: Wednesday, 20-December-2023
created by
Dec 20, 2023
-
Blog: gmStudio Release News: Friday, 18-August-2023
created by
Aug 18, 2023
-
Blog: gmStudio Release News: Monday, 30-May-2023
created by
May 30, 2023
-
Blog: New Support Statements
created by
Mar 27, 2023
-
Blog: gmStudio Release News: Monday, 27-March-2023
created by
Mar 27, 2023
-
Blog: New Reports: Unused Symbols and Late Calls
created by
Dec 11, 2022
-
Blog: gmStudio Release News: Sunday, 11-December-2022
created by
Dec 11, 2022
-
Blog: gmStudio Release News: Monday, 10-October-2022
created by
Oct 10, 2022
-
Blog: gmStudio Release News: Tuesday, 05-July-2022
created by
Jul 05, 2022
-
Blog: gmStudio Release News: Saturday, 05-March-2022
created by
Mar 05, 2022
-
Blog: VB6/COM Still declining in popularity
created by
Jan 12, 2022
-
Blog: gmStudio Release News: Wednesday, 01-Dec-2021
created by
Dec 01, 2021
-
Blog: gmStudio Release News: Monday, 04-October-2021
created by
Oct 04, 2021
-
Blog: gmStudio Release News: Tuesday, 06-July-2021
created by
Jul 06, 2021