Loading...
 

CX_SYSTEM_OBJECT::ReloadModules

CX_SYSTEM_OBJECT::ReloadModules

218091
Description:

This method allows you to reload changes from the .ext file in the running system. This allows modules to be added and removed in the running system as long as the new external definitions do not conflict with the currently active modules.

The method works as follows:

  1. ResetModules is called. The rules described there apply, which modules are reset and which are not.
  2. All modules reset by ResetModules (all inactive modules) are unloaded by Reload and removed from the list of modules.
  3. Now the .ext file specified at the start of the ClassiX system is re-parsed and thereby external() statements are ignored for all active modules (which were not reset by ResetModules ).
  4. Error handling:
    1. If an error occurred during the processing of the .ext file, the old module list is restored and ReloadModules behaves in this case like ResetModules with the addition that the modules were also unloaded and are thus reloaded from the source code.
    2. If there was no error during processing, the old modules that were unloaded by reload are deleted.

If the ClassiX system was started without the explicit specification of an .ext file (via --extern_file), then point 3 is skipped and point 4.1 is executed.

Note: ReloadModules also reloads provider modules.

Code example:
SystemObject Call(ReloadModules)

Stack
Stack Position Object type Brief description
Stack(In) Top
Stack(Out) Top
Function call: Call(ReloadModules)