Zur Laufzeit eines Skriptes entstehen einer oder mehrere Variablen-Kontexte.
Dies sind eigene und unabhängige Speicherbereiche, in denen Benutzervariablen, cX.Var()- oder cX.Stapel()-Objekte sowie diverse weitere Laufzeit-Informationen abgelegt werden. Es werden hier etwa auch zugehörige Fenster, Kommandozeilen-Argumente, die Maßeinheit, Fehlerbehandlung oder Druckerstatus vermerkt.
Kontexte werden etwa angelegt, wenn Unterprogramme mit der Eigenschaft "Lokale Variablen" aufgerufen werden. Nach Beendigung eines solchen Unterprogramms (Zurück) wird der speziell angelegte Kontext wieder aus dem Speicher gelöscht.
Auch eigene Funktionen, Objekte (pro Instanz) oder Webserver-Anfragen bekommen jeweils einen eigenen Kontext.
Sie sind hierarchisch strukturiert, also gibt es bei bei Unterkontexten auch einen Mutterkontext. Auf dessen Variablen kann etwa auch mit [cX.Mutterkontext(X)] zugegriffen werden, etwa auf das Hauptprogramm, das den Aufruf des Unterprogramms vorgenommen oder das Objekt angelegt hat.
Haben solche Kind-Kontexte wiederum Kind-Kontexte, kann dann auch per [cX.Hauptkontext(X)] auf die Variablen des Hauptskripts (ganz oben in der Hierarchie) zugegriffen werden.
In einigen Szenarien werden auch komplett unabhängige Skripte samt Verarbeitungs-Laufzeit angelegt (etwa bei cXtensionen oder asynchronen Hintergrund-Aufrufen). Auch in diesem Fall kann über die o.a. Platzhalter auf Variablen des Hauptskripts zugegriffen und über die Eigenschaft Objektereignis dessen Unterprogramme aufgerufen werden.
cX-Webseite: http://www.clickexe.net