Register
, Unregister
, Yield
Für jedes Modul, das sich bei der TAA anmeldet, wird eine eigene TAA-Bausteinumgebung („Stacked Module Environment“) angelegt. In der Klasse ModlEnv werden alle Angaben verwaltet, die Auskunft über die Umgebung des aktuellen Bausteins innerhalb der TAA geben.
Die Bausteine teilen der Infrastruktur über die Klasse ModlEnv mit, dass ein Baustein endet. Sie können Ereignisse und Zustände des Moduls abfragen bzw. setzen, andere Services anfordern, lokale Objekte deklarieren, und Referenzen auf lokale, globale und Parameterobjekte erzeugen. Außerdem wird in der Klasse ModlEnv die Liste der aufgetretenen Laufzeitzustände (Condition Handling) sowie die Liste der bekannten Objekte verwaltet.
Um Methoden der Klasse ModlEnv nutzen zu können, müssen Sie zunächst eine Variable vom Typ ModlEnv deklarieren und über die Methode Register bestücken:
ModlEnv MyModl = taaEnv.taaRegister("nfun-test1");
Alternativ lässt sich für Migrationszwecke eine ModlEnv über die Methode taaCoRegister
aus einem bereits registrierten, aktiven NativeSupport.Module
erstellen:
ModlEnv MyModl = taaEnv.taaCoRegister(myNativeSupportInstance);
Man beachte, dass die Beschaffung einer ModlEnv für eine Instanz eines NativeSupport.Module
nur dazu verwendet werden kann, um vorhandenes Coding in einer Portierung zur NativeSupport
API schrittweise einbinden zu können. Das vorhandene Coding kann dabei mittels der über taaCoRegister
erzeugte ModlEnv
keinen direkten Einfluss auf den Kontrollfluss1) des Bausteins nehmen. In einem solchen ModlEnv
werden derartige Versuche mit einer Ausnahme ZZTAAIM2(48)
2) behandelt.