Gibt es eine Möglichkeit, Variablen zwischen verschiedenen Application Builder-Skript-Namespaces zu „senden“?Hallo allerseits,
Ich arbeite mit Application Builder und es sind viele Modulfenster und Skripte erforderlich. Ich frage mich, ob es eine Möglichkeit gibt, Variablen an 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 beschäftigt, 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 bei der Variablenbenennung. Gibt es eine Möglichkeit, dies zu umgehen? Gibt es alternativ eine Möglichkeit, „Namen standardmäßig hier“ oder etwas Ähnliches zu konfigurieren, sodass die von mir definierten Variablen standardmäßig auf den Anwendungs-Namespace eingestellt werden und von allen Modulskripten referenziert werden können?
Ich freue mich über jeden Einblick!
Automatisierung und SkripterstellungQualitäts- und VerfahrenstechnikBetreff: 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 Anwendungs-Namespace zugreifen mit:
appNS = thisApplication<<Get Namespace;
Damit sollten Sie in der Lage sein, Variablenwerte im Anwendungsbereich explizit festzulegen/abzurufen.
Variablen ohne Gültigkeitsbereich innerhalb eines Modulskripts sind standardmäßig nur innerhalb des angegebenen Moduls sichtbar.Wenn ein Modul auf die Variablen in einem anderen Modul zugreifen muss, muss das erste Modul einen Verweis auf das zweite Modul haben.Beispielsweise könnten Sie Modul1 eine Instanz von Modul2 erstellen lassen mit:
module2 << CreateInstance(thisModuleInstance);
Die Variablen „thisApplication“ und „thisModuleInstance“ sind automatische Variablen, die auf die Anwendung und die (aktuelle) Modulinstanz verweisen.Jetzt kann die Instanz „Modul2“ auf Variablen in der Instanz „Modul1“ zugreifen, indem sie auf den Namespace für das übergebene Modul zugreift:
OnModuleLoad({callingModule},
ns = callingModule << Get Namespace;
);
Ich hoffe das hilft!
-Dan