Lade...
 

CX_SYSTEM_OBJECT::ReloadModules

CX_SYSTEM_OBJECT::ReloadModules

218091
Beschreibung:

Diese Methode ermöglicht das Nachladen von Änderungen aus der .ext-Datei im laufenden System. Hierdurch können im laufenden System Module hinzugefügt und entfernt werden, solange die neuen Extern-Definitionen nicht im Widerspruch zu den aktuell aktiven Modulen stehen.

Die Methode arbeitet wie folgt:

  1. ResetModules wird aufgerufen. Dabei gelten die dort beschriebenen Regeln, welche Module zurückgesetzt werden und welche nicht.
  2. Alle durch ResetModules zurückgesetzten Module (alle inaktiven Module) werden durch Reload entladen und aus der Liste der Module entfernt.
  3. Jetzt wird die beim Start des ClassiX-Systems angegebene .ext-Datei neu geparsed und dabei werden Extern()-Anweisungen für alle aktiven Module (die nicht durch ResetModules zurückgesetzt wurden) ignoriert.
  4.  Fehlerbehandlung:
    1. Falls es während der Verabeitung der .ext-Datei ein Fehler aufgetreten ist, dann wird die alte Modulliste wiederhergestellt und ReloadModules verhält sich in dem Fall wie ResetModules mit dem Zusatz, dass die Module auch entladen wurden und damit erneut aus dem Quellcode geladen werden.
    2. Falls es keinen Fehler während der Verarbeitung gab, dann werden die alten Module, die per Reload entladen wurden, gelöscht.

Falls das ClassiX-System ohne die explizite Angabe einer .ext-Datei (über --extern_file) gestartet wurde, dann wird Punkt 3 übersprungen und es wird Punkt 4.1 ausgeführt.

 

Hinweis: ReloadModules lädt auch Provider-Module neu.

 

Code-Beispiel:
SystemObject Call(ReloadModules)

 

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top    
Stack(Out) Top    
Funktionsaufruf: Call(ReloadModules)