Skip to content

gmStudio Extensions

gmStudio’s code analysis and translation capabilities may be extended and modified through various rules files and scripts. These custom transformations are specified using various types of configuration files that extend and modify the definitions of language and API elements and also allow activating dynamic translation rules. This page contains samples of these configuration files. The concepts and techniques for creating and using these customizations are described in other articles:

A collection of sample rules files and script is cataloged here; you may download these and experiment with them in your environment. You may visit the full list of gmStudio Extension files in the attachments to this page . Please Contact Us or post your questions here.

API Migration Rules Files (RefactorLibraries)

Section titled “API Migration Rules Files (RefactorLibraries)”

Migration Rules Files (RefactorLibrary Files) are the preferred means of mapping a COM API to its replacement in .NET.

Best practice is to load an API Migration Rules file using a registry-migfile command, however they can be loaded by convention when by naming the migration file mig.libfile.xml (for example mig.scrrun.dll.xml will be loaded automatically for codes that references scrrun.dll.xml). The file mig.vb7lang.xml is a special case: it may be used to modify the mapping of VB6/ASP language elements to .NET.

The recommended naming convention for these files is libfile.[target].Refactor.xml where libfile is the name of the type library (e.g. scrrun.dll) [target] is a user-defined descriptive name. For example scrrun.dll.SystemIO.Refactor.xml contains rules for migrating scrrun.dll (Scripting Runtime) to System.IO. Which may be activated with a registry command.

<registry type="MigFile" source="scrrun.dll" target="scrrun.dll.SystemIO.Refactor" />
or
<registry type="MigFile" source="scrrun.dll" target="..\usr\scrrun.dll.SystemIO.Refactor.xml" />

Note: the first example above uses Metalanguage file path resolution and will look through the metalanguage folders for a .XML file. The second example uses an actual file path specification relative to the working folder.

Files

21 files
mig.ActBar.ocx.xml
0.6 KB
mig.actrpt.dll.xml
1.0 KB
mig.actrpt2.dll.xml
1.3 KB
mig.arviewer.ocx.xml
0.2 KB
mig.EXCEL.EXE.Interop.xml
1.0 KB
mig.Language.wpf.xml
4.1 KB
mig.msado15.dll.SqlClient.xml
9.6 KB
mig.MSCOMCT2.OCX.Winforms.xml
6.8 KB
mig.mscomctl.ocx.xml
2.4 KB
mig.msscript.ocx.ClearScript.xml
2.1 KB
mig.MSVBVM60.dll.xml
0.1 KB
mig.MSVBVM60_3.dll.xml
0.1 KB
mig.richtx32.ocx.WinForms.xml
3.2 KB
mig.ssa3d30.ocx.xml
0.2 KB
mig.Threed20.ocx.WinForms.xml
5.2 KB
mig.vb7lang.xml
6.7 KB
mig.vb7lang_PictureBox.xml
2.9 KB
Refactor.DAO350.DLL.xml
0.1 KB
Refactor.Mscomctl.ocx.xml
65.6 KB
Refactor.Richtx32.ocx.xml
3.7 KB
Refactor.Stdole2.tlb.xml
0.2 KB

Custom IDFs allow you to migrate COM APIs to .NET replacements. This is a powerful and fairly intuitive technique, but it is not as maintainable as Migration Rules files.

The gmStudio samples use custom IDFs files, but this approach will be phased out in favor of using Migration Rules files. See Custom COM Replacement.

Files

41 files
GM.actrpt2.dll.xml
97.6 KB
GM.ADODB_to_DataLib.dll.xml
74.5 KB
GM.ADODB_to_System.Data.Odbc.dll.xml
72.0 KB
GM.ADODB_to_System.Data.Sql.dll.xml
72.9 KB
GM.cdonts.dll.xml
13.1 KB
GM.COMDLG32.OCX.xml
9.3 KB
GM.COMDLG32_Remove.OCX.xml
9.4 KB
GM.DAO350.DLL.xml
53.3 KB
GM.EXCEL_Interop.EXE.xml
2279.8 KB
GM.ieframe.dll.xml
43.9 KB
GM.msado27.tlb.xml
69.0 KB
GM.MSCAL.OCX.xml
6.7 KB
GM.MSCOMCT2.OCX.xml
45.2 KB
GM.MSComCt2_WinForms.OCX.XML
48.6 KB
GM.MSCOMCTL.OCX.xml
132.1 KB
GM.MSFLXGRD.OCX.xml
38.0 KB
GM.MSHFLXGD.OCX.xml
39.1 KB
GM.msinet.ocx.xml
12.7 KB
GM.msmask32.ocx.xml
15.1 KB
GM.MSOUTL_Interop.OLB.xml
410.2 KB
GM.MSRDO20.DLL.xml
53.6 KB
gm.msscript.ocx.xml
7.0 KB
GM.MSVBVM60.dll.xml
46.6 KB
GM.msvbvm60_3.dll.xml
47.2 KB
GM.MSWINSCK.OCX.XML
8.0 KB
GM.MSWORD_Interop.OLB.xml
878.4 KB
GM.msxml6.dll.xml
87.2 KB
GM.oip11.tlb.xml
163.3 KB
GM.ResizeKit.ocx.xml
2.7 KB
GM.richtx32.ocx.xml
21.6 KB
GM.scrrun.dll.xml
25.6 KB
GM.shdocvw.dll.xml
39.1 KB
GM.ssa3d30.ocx.xml
66.5 KB
GM.SSLstBar.ocx.xml
25.1 KB
GM.Stdole2.tlb.xml
11.5 KB
GM.TABCTL32.OCX.xml
17.4 KB
GM.tdbg6.ocx.xml
96.2 KB
GM.TLBINF32.DLL.xml
57.1 KB
GM.uiRAD.ocx.xml
6.6 KB
GM.vbscript_3.dll.xml
4.2 KB
GM.xarraydb.ocx.xml
12.5 KB

gmSL scripts may be used to implement dynamic translation rules for various COM migrations in concert with custom IDFs and RefactorLibrary files. gmSL Scripts may also be used for special purpose analysis and transformation on their own. Learn more about gmsl here: gmSLIntroduction.

Note we also offer a .NET APIthat has all of the power of gmSL and may be used to build custom translation engines as .NET executables.

Files

28 files
comdlg32.OCX.Wrapper.gmsl
3.0 KB
Comsvcs.dll.ServiceMethods.gmsl
2.2 KB
GlobalIncludes.gmsl
42.3 KB
GM.COMDLG32.OCX.gmSl
3.1 KB
gm.mscomctl.gmsl
2.8 KB
gm.mscomctltransform.gmsl
12.8 KB
gm.msflxgrdtransform.gmsl
2.2 KB
gm.msmasktransform.gmsl
1.4 KB
GM.msrdo20Transform.gmsl
10.3 KB
GM.tdbg6.ocx.gmsl
0.6 KB
gmGlobalIncludes.gmsl
38.1 KB
instrument.gmsl
23.2 KB
ListControls_ItemData.gmsl
6.6 KB
makeDSRVB6.gmsl
11.8 KB
migListControls.gmsl
6.4 KB
msado15.dll.DataLib.Transform.gmsl
24.0 KB
msado15.dll.ODBC.Transform.gmsl
24.3 KB
msado15.dll.SqlClient.Transform.gmsl
23.3 KB
mscomct2.ocx.WinForms.gmsl
0.6 KB
mscomctl.ocx.MigCode.gmsl
2.9 KB
mscomctl.ocx.ServiceMethods.gmsl
2.0 KB
mscomctl.ocx.Transform.gmsl
27.1 KB
mscomctl.ocx.WinForms.Transform.gmsl
43.5 KB
scrrun.dll.Transform.gmsl
20.3 KB
Stdole2.tlb.ServiceMethods.gmsl
2.0 KB
Tabctl.ocx.Wrapper.WPFTransform.gmsl
22.1 KB
Tabctl32.ocx.Wrapper.Transform.gmsl
17.6 KB
wpfSubsystem.gmsl
74.0 KB

Samples of various special purpose scripts are distributed with the tool

Files

144 files
advapi32.dcl.xml
6.7 KB
CodeStyle.std.xml
5.9 KB
comdlg32.dcl.xml
1.6 KB
comdlg32.ocx.Remove.Refactor.xml
1.4 KB
comdlg32.ocx.Winforms.Refactor.xml
3.1 KB
comdlg32.OCX.Wrapper.gmsl
3.0 KB
comdlg32.ocx.Wrapper.Refactor.xml
1.2 KB
Comsvcs.dll.Refactor.xml
1.7 KB
Comsvcs.dll.ServiceMethods.gmsl
2.2 KB
cscalbtn.ocx.WinForms.Refactor.xml
0.3 KB
DAO350.DLL.Refactor.xml
0.1 KB
Environment.std.xml
20.4 KB
gdi32.dcl.xml
4.0 KB
GlobalIncludes.gmsl
42.3 KB
GlobalIncludes.xml
4.2 KB
GM.actrpt2.dll.xml
97.6 KB
GM.ADODB_to_DataLib.dll.xml
74.5 KB
GM.ADODB_to_System.Data.Odbc.dll.xml
72.0 KB
GM.ADODB_to_System.Data.Sql.dll.xml
72.9 KB
GM.cdonts.dll.xml
13.1 KB
GM.COMDLG32.OCX.gmSl
3.1 KB
GM.COMDLG32.OCX.xml
9.3 KB
GM.COMDLG32_Remove.OCX.xml
9.4 KB
GM.DAO350.DLL.xml
53.3 KB
GM.EXCEL_Interop.EXE.xml
2279.8 KB
GM.ieframe.dll.xml
43.9 KB
GM.msado27.tlb.xml
69.0 KB
GM.MSCAL.OCX.xml
6.7 KB
GM.MSCOMCT2.OCX.xml
45.2 KB
GM.MSComCt2_WinForms.OCX.XML
48.6 KB
gm.mscomctl.gmsl
2.8 KB
GM.MSCOMCTL.OCX.xml
132.1 KB
gm.mscomctltransform.gmsl
12.8 KB
GM.MSFLXGRD.OCX.xml
38.0 KB
gm.msflxgrdtransform.gmsl
2.2 KB
GM.MSHFLXGD.OCX.xml
39.1 KB
GM.msinet.ocx.xml
12.7 KB
GM.msmask32.ocx.xml
15.1 KB
gm.msmasktransform.gmsl
1.4 KB
GM.MSOUTL_Interop.OLB.xml
410.2 KB
GM.MSRDO20.DLL.xml
53.6 KB
GM.msrdo20Transform.gmsl
10.3 KB
gm.msscript.ocx.xml
7.0 KB
GM.MSVBVM60.dll.xml
46.6 KB
GM.msvbvm60_3.dll.xml
47.2 KB
GM.MSWINSCK.OCX.XML
8.0 KB
GM.MSWORD_Interop.OLB.xml
878.4 KB
GM.msxml6.dll.xml
87.2 KB
GM.oip11.tlb.xml
163.3 KB
GM.ResizeKit.ocx.xml
2.7 KB