Gibt es eine Möglichkeit, Variablen zwischen verschiedenen Application Builder-Skript-Namespaces zu "senden"?Hallo allerseits,
Ich arbeite mit Application Builder und benötige viele Modulfenster und Scripting. Ich frage mich, ob es eine Möglichkeit gibt, Variablen zu und von verschiedenen Skript-Namespaces zu "senden" oder zu "pushen"/"zu ziehen".
Bisher habe ich die meisten Variablen im Application-Namespace definiert, aber es wird langsam sehr geschäftig und ich würde es vorziehen, die Skripte unter ihren relevanten Modulen zu haben, wo die Variablen nach Bedarf im Application-Namespace referenziert werden. Eine Lösung wäre die Definition globaler Variablen, aber ich mache mir Sorgen über mögliche zukünftige Probleme mit der Benennung von Variablen. Gibt es eine Möglichkeit, dies zu umgehen? Gibt es alternativ eine Möglichkeit, "Names Default to Here" oder etwas Ähnliches zu konfigurieren, damit die von mir definierten Variablen standardmäßig den Application-Namespace verwenden und von allen Modulskripten referenziert werden können?
Ich freue mich über jeden Einblick!
SkripterstellungBetreff: Gibt es eine Möglichkeit, Variablen zwischen verschiedenen Application Builder-Skript-Namespaces zu "senden"?Hallo @EstelleS -
In jedem Anwendungsskript (Anwendungsebene oder Modulebene) können Sie auf den Anwendungsnamensraum zugreifen mit:
appNS = thisApplication<<Get Namespace;
Damit sollten Sie Variablenwerte im Anwendungsbereich explizit festlegen/abrufen können.
Variablen ohne Bereich innerhalb eines Modulskripts sind standardmäßig nur innerhalb des angegebenen Moduls sichtbar.Wenn ein Modul auf die Variablen innerhalb eines anderen Moduls zugreifen soll, muss das erste Modul einen Verweis auf das zweite haben.Beispielsweise könnten Sie module1 eine Instanz von module2 erstellen lassen mit:
module2 << CreateInstance(thisModuleInstance);
Die Variablen „thisApplication“ und „thisModuleInstance“ sind automatische Variablen, die sich auf die Anwendung und die (aktuelle) Modulinstanz beziehen.Jetzt kann die module2-Instanz auf Variablen in der module1-Instanz zugreifen, indem sie auf den Namespace für das übergebene Modul zugreift:
OnModuleLoad({callingModule},
ns = callingModule << Get Namespace;
);
Ich hoffe das hilft!
-Dan