Compiled Module Information
The Compiled Module Inspector in the Write Script worksheet provides insight into the code that is available in the runtime component. It displays a summary of the compiled modules and their sources.
Note: The list of compiled modules is only available after the component is compiled. If you make changes to any of the sources, these will only be visible after the component is recompiled.
The ProcScript that is compiled into a runtime component includes modules in the component itself, as well as modules that are inherited or included from other sources. Some ProcScript modules may be excluded, and if duplicate modules are defined, they are resolved.
Modules are listed as part of the object that determines their visibility or scope. For example, entries are displayed at component level because they have component-level visibility, even if they are defined in a lower-level object. An entry defined at component level will overwritten by an entry with the same name defined at field level; they cannot exist next to each other.
After compilation, the Compiled Modules Inspector:
- Lists the compiled ProcScript modules for each object.
- Indicates whether the compiled module is locally-defined, inherited, or whether it overrides a module that is inherited or defined elsewhere.
- Enables you to navigate to the source of the compiled object, whether that is somewhere in the component, or in another main development object.
To open the source of a compiled module, whether that is in a modeled entity, an entry in a field, or in a component operation, double-click the module name in the Modules list. The object contain the module is opened at the module declaration.
Compiled Modules Inspector
- Compiled module information is shown for the selected object, in this case a modeled component entity.
- No local ProcScript is defined for the Lock, Read, and other entity triggers ...
- ... but the Compiled Modules Inspector shows that trigger modules have been compiled. Icons indicate that these triggers were inherited.
- Although there is an entry defined for the component entity, it is not shown here because entries have component scope, so it is only visible when the Component is selected.
Icon | Meaning |
---|---|
Entry is defined locally. | |
Entry is inherited. | |
Entry replaces an inherited entry. | |
Entry replaces an entry defined in another object. | |
Operation is defined locally. | |
Operation is inherited. | |
Operation replaces an inherited operation. | |
Operation replaces an operation defined elsewhere, for example in an IncludeScript. | |
Trigger is defined locally. | |
Trigger is inherited. | |
Trigger replaces an inherited trigger. | |
Trigger replaces a trigger defined elsewhere, for example in an IncludeScript. |
CMI Files
The compiler writes the compiled module information to *.cmi files in the working directory.
If you want it in a different location, you can redirect these files elsewhere, redirect them in the [FILES] section of the ide.asn configuration file. For example:
[FILES] usys:*.xml usysuniface:misc\*.xml *.cmi D:\Uniface\Uniface10_Data\project\cmi\*.cmi