gmplLoadEnviromentStatement
- Mark Juras
Owned by Mark Juras
LoadEnviroment Statement Summary
LoadEnviroment is a terminal, command statement that can occur only in command scripts. Before any code can be processed the environment within which that compilation is to occur must be established. For a given command script the loading of this information occurs only once. The compiler checks if this load has occurred before it executes a Compile or Reference statement. This statement can force the load to occur immediately in case it is needed for some special context. The LoadEnviroment statement has no attributes. The environment is described via four optional files: an Environment file, a TypeInference file, a Language file, and a GlobalSettings file. In addition, the environment can include dynamic link libraries that use the gmNI services to perform special processing operations as any number of translation process events occur. The Environment file is a reference script. It is normally created once by the user and contains settings that should always be used for a given code base. It is called Environment.%id%.xml and typically contains Select and Registry commands. It may be placed in any one of the search locations, but is normally placed in the target location. The TypeInferences file is reference script. It is normally authored by gmBasic to report the type inferences that it has made while processing a code base. The purpose in creating this file is to give subsequent compilations knowledge about the ultimate types of the symbols that are weakly typed in the source code. This knowledge can then improve the quality of the translations. It is called TypeInference.%id%.xml and as authored by gmBasic contains only FixType Registry statements. It may be placed in any one of the search locations, but as authored it is sent to the Local location. The Language file is a reference script whose class descriptions are intended to override the class descriptions in the language file itself. It is called Language.%id%.xml. Other than the criteria for when it is loaded, this file behaves exactly like any other reference script. It may be augmented by a file Mig.language.%id%.xml and may contain refactoring statements and may trigger events. Since many traditional COM component libraries contain classes whose names match the traditional VB6 controls like Label, TextBox, etc., one additional adornment is needed for classes intended to override an internal VB6 class, migStatus="OverrideUser". Thus, an entry<class id="DriveListBox" parent="None" default="Drive" migStatus="OverrideUser" >
<class id="TextBox" parent="None">
Table of Contents