Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tip
titleUse the gmBasic pre-compiler

gmBasic has a programmable preprocessor that allows migration teams to modify the source code in memory before it is processed for translation. Conceptually speaking, this is a search-and-replace facility.

If you are changing your source solely to prepare it for migration, it is a best practice to make changes "by tool" rather than doing them directly "by hand". Using the preprocessor documents the changes, applies them systematically, and makes them repeatable and trackable. This is particularly important if the source code is under active maintenance outside of the migration effort.

In its simplest form, the preprocessor may be invoked by the Compile/Fix or Refactor/EditFIleEditFile commands.

1) Compile/Fix/Replace commands are loaded from your main translation script template

Code Block
<Compile ...>
<Fix host="AppUtilities" name="PreEdits">
   <Replace status="active" name="vbDouble used twice in same Select">
   <OldBlock><![CDATA[
   Case vbDecimal, vbCurrency, vbDouble, vbSingle
   ]]></OldBlock>
   <NewBlock><![CDATA[ 
   Case vbDecimal, vbCurrency, vbSingle 
   ]]></NewBlock>
   </Replace> 
</Fix>
...
</Compile>

 

2) Registry/Edit commands in a GlobalSettings file. This is particularly useful for shared files – like #include files with web sites or shared modules in VB6 systems.

Code Block
<GlobalImports>
<Storage Action="Create" Identifier="%UserFolder%\GlobalSettings" />
...
<Registry type="EditFile" Source="%VirtualRoot%Accounts\Litbuildings\lookup_addr.asp"><Fix name="Pre-Edits">
<Replace status="active" name="remove malformed javascript">
<OldBlock><![CDATA[//cal.setHolidays]]></OldBlock>
</Replace>
</Fix>
</Registry>
...
</GlobalSettings>

 

 

 

See Also

Support Statement: VB6 Refactoring