Even production tested code VB6/ASP code may contain bugs or ambiguities that go unreported on the legacy platform. These "bad source code" problems can cause explicit translation errors or produce undesirable translation results. This is a problem with both ASP and VB6. gmBasic does its best to interpret whatever code you give it, but if there are problems in the source they will may lead to problems in .NET . We generally refer to this as "bad source code" and it must be addressed to correct translation errors and improve translations quality. unless they are corrected.
Of course you one can always directly modify your source code to correct or improve "bad code", however doing this causes your may cause the source code to diverge from the production code in undocumented and unrepeatable ways. Also if the source is codes are also being updated for other maintenance, your the "bad code fixes" can may be lost when you update the copy being used for translationsmerged changes. So, the The preferred way to deal with "bad code fixes" and other tweaks to the source is to use the gmBasic Pre-editor.
Tip | ||||
---|---|---|---|---|
| ||||
gmBasic has a programmable pre-editor that is fast and precise. It 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. The original source code on disk is not modified. 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/EditFile commands. 1) Compile/Fix/Replace commands may placed in your translation script template or in a ScriptRules file:
2) Registry-EditFile commands may be placed in a GlobalSettings file. This is particularly useful for shared files – like #include files with web sites or shared modules in VB6 systems.
|
Notes:
- Adding <Select Progress="1"> will provide a summary log of what fixes are applied (or not)
- Adding <Select Progress="2"> will provide a detailed log of what fixes are applied (or not)
- gmStudio can help you audit and report the fixes using the Translation Log report.
See Also