Articles and Whitepapers
Search Articles and Whitepapers
Migration Articles
- A Business Case for Migration presents the bottom line business case for migration.
- GM Methodology Overview provides an overview of our methodology and its benefits.
- Translation Myth Busters discusses the problems commonly associated with automated software translation and how Great Migrations products and our tool-assisted rewrite methodology address these challenges.
- Comparing Migration Methodologies Article introduces the concepts of a software migration project and compares a "manual rewrite" approach to a "high-yield-tool-assisted migration" approach.
- Code Restructuring describes how we allow you to customize the replacement of COM components and controls during a migration.
- Custom Language Replacement describes how we allow you to customize the replacement of VB6 language elements during a migration.
- BMW Financial Services VB6-to-C# Migration Case Study gives the history of how BMWFS developed and applied a strategy for tool-assisted migration.
- Code Quality describes how we measure and achieve code quality in our migrations.
VideosÂ
- VIDEO: Channel 9 Interview with Founder describes our product, our methodology, and our history.
- VIDEO: Introduction to gmStudio screencast demonstrates gmStudio in the context of a small multi-VBP migration.
- VIDEO: ASP and VB6 Site Migration screencast demonstrates gmStudio in the context of a multi-VBP and ASP web site migration.
Technology PapersÂ
- Design of a FORTRAN to C Translator describes the design of gmFortran, a Fortran-to-C compiler/translator. Many of the principles used in the implementation of gmFortran are also applied in gmBasic, the translation engine that powers gmStudio.
- gmBasic Product Overview describes gmBasic, our VB6/ASP/COM to .NET translation tool.
- Introduction to gmBasic Technology walks the reader through two sample VB6 and ASP migrations using gmBasic.
- gmBasic Technical FAQÂ answers some of the common questions about gmBasic.
All Articles
- Videos
- Business Topics
- A Business Case for Migration
- Setting Modernization Project Scope and Budget
- Upgrade Project Overview
- gmStudio Pricing Information — Product Licenses
- Service Pricing Model
- The gmStudio Value Proposition
- Getting Started
- Estimating a Migration Project
- BMW Financial Services .NET Adoption Case Study
- Translation Myth Busters
- By Tool or By Hand: Comparing Upgrade Methodologies
- COTS versus Tool-Assisted Rewrite
- gmStudio Promotional Edition Announcement
- Runtime Library Requirements and Support
- Evaluating gmStudio
- Technical Topics
- gmStudio Upgrade Samples
- Custom VB6 Language Replacement
- Custom COM Replacement
- gmStudio Workshop Slides
- Special Migrations
- Using gmStudio as an External Tool in Visual Studio
- Incremental Scope Analysis using gmStudio
- Additional Reading
- FAQs
- gmStudio Architecture Overview
- Incremental Upgrade Cookbook
- Upgrade Assessment Instructions
- Client List
- Great Migrations FAQs
- Support Statement: Dealing with "bad" code
- Support Statement: Reducing Late Calls, CallByName/dynamic
- Support Statement: DataLib
- Support Statement: Integrated Build
- Support Statement: Modifying VB6 Source Files
- Support Statement: Stub Replacement
- Support Statement: Target Architecture Changes
- Support Statement: Upgrading .NET interop dependencies
- Support Statement: Unit Testing MigrationSupport.DataLib
- Support Statement: Verifying a Migration Solution
- Support Statement: ADO to ADO.NET?
- Support Statement: oo40 to Oracle Data Provider for .NET
- Support Statement: Type Inference and Type Replacement
- Support Statement: Office Upgrade
- Support Statement: Translation Challenges
- Support Statement: Automated Testing
- Support Statement: Removing Code
- Support Statement: Reference is not open
- Support Statement: What is an easy COM replacement?
- Support Statement: MigrationSupport (gmRTL) Source Code
- Support Statement: Duplicate COM symbols in different TypeLibs
- Support Statement: Helping with resolving a Build Error
- Support Statement: Refactor Remove, Reauthor and Spec codes
- Support Statement: License Activation
- Support Statement: Custom Build Order
- Support Statement: Dealing with Library/Class Name Clash
- Support Statement: Dealing with multiple versions of the same class in IDF
- Support Statement: Dealing with name clashes in COM stub classes
- Support Statement: Dealing with TypeLib Alias
- Support Statement: Making a control into a class
- Support Statement: Migration DLLs
- Support Statement: What is a Build-Complete ASP Upgrade?
- Support Statement: gmBasic Script Parameter Replacement
- Support Statement: Techniques for Weak Typing and ref Tempargs
- Support Statement: Running and Comparing results for a test code
- Support Statement: add a gmSL routine to a translation script
- Support Statement: Dealing with multi-dimensional Arrays
- Support Statement: Modifying the migration of a VB6 Intrinsic Function (e.g., Split)
- Support Statement: System Metalanguage Files
- Support Statement: VB6 Forms Upgrade Strategy
- Support Statement: Type Inference Limitations
- Support Statement: VB6 Refactoring
- Support Statement: VS Version Selection
- Support Statement: Large Sample
- Support Statement: Making a new Metalang File
- Support Statement: gmSL Handlers and Commands
- Support Statement: Designer Control GUID
- Support Statement: VBA Applications
- Support Statement: Microsoft Access Applications
- Support Statement: Setting Up IDFs
- Support Statement: Running a specific gmStudio other than the installed version
- Support Statement: Remove Application Function and Replace Calls
- Support Statement: Dealing with Source Code Changes
- Support Statement: How to get the list of COM interfaces implemented by a COM class
- Support Statement: Dealing with symbol case changes
- Support Statement: IDFs for interop assemblies
- Support Statement: Twips to Pixels
- Support Statement: What happened to my filenames?
- Support Statement: Making an Upgrade Unit Test
- Support Statement: "Unexpected" gmAPI Behavior
- Support Statement: .NET Build Standards, Framework, Core, and Common
- Support Statement: Proprietary Designers (e.g. ActiveReports)
- Support Statement: Useful Search reporting patterns
- Support Statement: Local Migration to remove an argument from calls
- Support Statement: hybrid upgrade of Toolbar.Buttons.Add to WinForms extension
- Support Statement: Dump Source Code from a VBI file
- Support Statement: Apply PreEdits using gmsl
- Support Statement: Unable to open language file <..\usr\VB7lang.vbi>
- Support Statement: gmSL EditSource
- Support Statement: Using GlobalIncludes
- Support Statetment: ReplaceFile for Stubs
- Support Statement: Using str.Length instead of str.Len()
- Support Statetment: ReplaceFile for AppObject
- Support Statement: Retaining Short in a COM API
- Support Statement: updating (of ignoring) a custom meta-language file during translation
- Support Statement: Migrate Form_Load as event handler
- Support Statement: Translating Client-Side VBScript and VBS files
- Support Statement: Using a gmAPI executable with gmStudio
- Support Statement: GlobalSettings enhancements
- Support Statement: How to selectively suppress OptionalArguments=on for a specific method
- Support Statement: fixtype for type=VBS class in a #include
- Support Statement: gmSL to move a variable declaration
- Support Statement: Form uses stub controls and Designer Crashes
- Support Statement: msxml2 versioned progIDs
- Support Statement: Suppress .NET Compiler warnings
- Support Statement: Dealing with Difficult GoSub migrations
- Support Statement: adding/removing Stub Framework Content
- Support Statement: Override a routine in authortext.gmsl
- Support Statement: Dealing with DataEnvironment / DataReport
- Support Statement: Remove tasks from a project that do not match any entry in an "include list"
- Support Statement: Deprecating MigrationSupport namespaces
- Support Statement: Cleanup VB6 Source Directory
- Support Statement: missing IDF for mscoree.dll
- Support Statement: Upgrading VB6 Error Handling for C#
- Support Statement: How can I automatically edit a VBP file?
- Support Statement: Using gmSL for deep migrations
- Support Statement: Unused Symbol Analysis and Reporting
- Support Statement: Consolidating COM API versions
- Support Statement: Setting Platform for builds
- Support Statement: Using a Custom Visual Studio Version (or SDK tools)
- Support Statement: Dealing with Twips to Pixels
- Support Statement: Upgrading a COM Component property to a WinForms Static property
- Support Statement: Sample Migration of CommonDialog to Winforms
- Support Statement: Improving Type Inference for MSHTML
- Support Statement: Removing a container control (e.g. vsElastic )
- Support Statement: Setting Scope for an ASP Site Upgrade
- Support Statement: How does gmStudio run builds?
- Support Statement: Generating a Global Stub Framework
- Support Statement: ListView.Add example of using gmSL to map COM to .NET
- Support Statement: Using gmSL to determine if an optional argument was omitted
- Support Statement: What does migStatus="external" stand for
- Support Statement: using specializedHookup="on" when migrating event handlers
- Support Statement: What is the meaning of Translation Status = SUCCESS?
- Support Statement: Consolidating Shared Code Files
- Support Statement: gmStudio Licenses
- Support Statement: Surface Pattern Syntax
- Support Statement: How many programmers?
- Support Statement: Overcome the Limits of AI for Large Scale Software Modernization
- Support Statement: Partial Translations
- Support Statement: Building gmStudio Extensions using gmAPI and .NET
- A Business Case for Migration
- Setting Modernization Project Scope and Budget
- Upgrade Project Overview
- gmStudio Pricing Information — Product Licenses
- Service Pricing Model
- The gmStudio Value Proposition
- Getting Started
- Estimating a Migration Project
- BMW Financial Services .NET Adoption Case Study
- Translation Myth Busters
- By Tool or By Hand: Comparing Upgrade Methodologies
- COTS versus Tool-Assisted Rewrite
- gmStudio Promotional Edition Announcement
- Runtime Library Requirements and Support
- Evaluating gmStudio
- gmStudio Upgrade Samples
- Custom VB6 Language Replacement
- Custom COM Replacement
- gmStudio Workshop Slides
- Special Migrations
- Using gmStudio as an External Tool in Visual Studio
- Incremental Scope Analysis using gmStudio
- Additional Reading
- FAQs
- gmStudio Architecture Overview
- Incremental Upgrade Cookbook
- Upgrade Assessment Instructions
- Support Statement: Dealing with "bad" code
- Support Statement: Reducing Late Calls, CallByName/dynamic
- Support Statement: DataLib
- Support Statement: Integrated Build
- Support Statement: Modifying VB6 Source Files
- Support Statement: Stub Replacement
- Support Statement: Target Architecture Changes
- Support Statement: Upgrading .NET interop dependencies
- Support Statement: Unit Testing MigrationSupport.DataLib
- Support Statement: Verifying a Migration Solution
- Support Statement: ADO to ADO.NET?
- Support Statement: oo40 to Oracle Data Provider for .NET
- Support Statement: Type Inference and Type Replacement
- Support Statement: Office Upgrade
- Support Statement: Translation Challenges
- Support Statement: Automated Testing
- Support Statement: Removing Code
- Support Statement: Reference is not open
- Support Statement: What is an easy COM replacement?
- Support Statement: MigrationSupport (gmRTL) Source Code
- Support Statement: Duplicate COM symbols in different TypeLibs
- Support Statement: Helping with resolving a Build Error
- Support Statement: Refactor Remove, Reauthor and Spec codes
- Support Statement: License Activation
- Support Statement: Custom Build Order
- Support Statement: Dealing with Library/Class Name Clash
- Support Statement: Dealing with multiple versions of the same class in IDF
- Support Statement: Dealing with name clashes in COM stub classes
- Support Statement: Dealing with TypeLib Alias
- Support Statement: Making a control into a class
- Support Statement: Migration DLLs
- Support Statement: What is a Build-Complete ASP Upgrade?
- Support Statement: gmBasic Script Parameter Replacement
- Support Statement: Techniques for Weak Typing and ref Tempargs
- Support Statement: Running and Comparing results for a test code
- Support Statement: add a gmSL routine to a translation script
- Support Statement: Dealing with multi-dimensional Arrays
- Support Statement: Modifying the migration of a VB6 Intrinsic Function (e.g., Split)
- Support Statement: System Metalanguage Files
- Support Statement: VB6 Forms Upgrade Strategy
- Support Statement: Type Inference Limitations
- Support Statement: VB6 Refactoring
- Support Statement: VS Version Selection
- Support Statement: Large Sample
- Support Statement: Making a new Metalang File
- Support Statement: gmSL Handlers and Commands
- Support Statement: Designer Control GUID
- Support Statement: VBA Applications
- Support Statement: Microsoft Access Applications
- Support Statement: Setting Up IDFs
- Support Statement: Running a specific gmStudio other than the installed version
- Support Statement: Remove Application Function and Replace Calls
- Support Statement: Dealing with Source Code Changes
- Support Statement: How to get the list of COM interfaces implemented by a COM class
- Support Statement: Dealing with symbol case changes
- Support Statement: IDFs for interop assemblies
- Support Statement: Twips to Pixels
- Support Statement: What happened to my filenames?
- Support Statement: Making an Upgrade Unit Test
- Support Statement: "Unexpected" gmAPI Behavior
- Support Statement: .NET Build Standards, Framework, Core, and Common
- Support Statement: Proprietary Designers (e.g. ActiveReports)
- Support Statement: Useful Search reporting patterns
- Support Statement: Local Migration to remove an argument from calls
- Support Statement: hybrid upgrade of Toolbar.Buttons.Add to WinForms extension
- Support Statement: Dump Source Code from a VBI file
- Support Statement: Apply PreEdits using gmsl
- Support Statement: Unable to open language file <..\usr\VB7lang.vbi>
- Support Statement: gmSL EditSource
- Support Statement: Using GlobalIncludes
- Support Statetment: ReplaceFile for Stubs
- Support Statement: Using str.Length instead of str.Len()
- Support Statetment: ReplaceFile for AppObject
- Support Statement: Retaining Short in a COM API
- Support Statement: updating (of ignoring) a custom meta-language file during translation
- Support Statement: Migrate Form_Load as event handler
- Support Statement: Translating Client-Side VBScript and VBS files
- Support Statement: Using a gmAPI executable with gmStudio
- Support Statement: GlobalSettings enhancements
- Support Statement: How to selectively suppress OptionalArguments=on for a specific method
- Support Statement: fixtype for type=VBS class in a #include
- Support Statement: gmSL to move a variable declaration
- Support Statement: Form uses stub controls and Designer Crashes
- Support Statement: msxml2 versioned progIDs
- Support Statement: Suppress .NET Compiler warnings
- Support Statement: Dealing with Difficult GoSub migrations
- Support Statement: adding/removing Stub Framework Content
- Support Statement: Override a routine in authortext.gmsl
- Support Statement: Dealing with DataEnvironment / DataReport
- Support Statement: Remove tasks from a project that do not match any entry in an "include list"
- Support Statement: Deprecating MigrationSupport namespaces
- Support Statement: Cleanup VB6 Source Directory
- Support Statement: missing IDF for mscoree.dll
- Support Statement: Upgrading VB6 Error Handling for C#
- Support Statement: How can I automatically edit a VBP file?
- Support Statement: Using gmSL for deep migrations
- Support Statement: Unused Symbol Analysis and Reporting
- Support Statement: Consolidating COM API versions
- Support Statement: Setting Platform for builds
- Support Statement: Using a Custom Visual Studio Version (or SDK tools)
- Support Statement: Dealing with Twips to Pixels
- Support Statement: Upgrading a COM Component property to a WinForms Static property
- Support Statement: Sample Migration of CommonDialog to Winforms
- Support Statement: Improving Type Inference for MSHTML
- Support Statement: Removing a container control (e.g. vsElastic )
- Support Statement: Setting Scope for an ASP Site Upgrade
- Support Statement: How does gmStudio run builds?
- Support Statement: Generating a Global Stub Framework
- Support Statement: ListView.Add example of using gmSL to map COM to .NET
- Support Statement: Using gmSL to determine if an optional argument was omitted
- Support Statement: What does migStatus="external" stand for
- Support Statement: using specializedHookup="on" when migrating event handlers
- Support Statement: What is the meaning of Translation Status = SUCCESS?
- Support Statement: Consolidating Shared Code Files
- Support Statement: gmStudio Licenses
- Support Statement: Surface Pattern Syntax
- Support Statement: How many programmers?
- Support Statement: Overcome the Limits of AI for Large Scale Software Modernization
- Support Statement: Partial Translations
- Support Statement: Building gmStudio Extensions using gmAPI and .NET