Geben Sie den enthaltenen Skripten einen eigenen Kontext (Führen Sie mehrere dynamische Benutzeroberflächen aus).Hallo,
Ich habe mehrere dynamische Benutzeroberflächen, die ich über Skriptschaltflächen in meinem Journal starte.
Each button simply runs an Include() of the relevant JSL file, for example:
Set Function(Include(
"....\UIs\xxx_StationMonitor_Raw.jsl")
)
Wenn ich eine zweite Benutzeroberfläche starte, ist die erste nicht mehr dynamisch (ihre Interaktivität reagiert nicht mehr).
Wenn ich jedoch beide JSL-Dateien direkt in JMP öffne und manuell ausführe, bleiben beide vollständig dynamisch und reaktionsfähig.
Es scheint, dass das Ausführen mehrerer Includes aus einem Journal irgendwie dazu führt, dass sie den Status des jeweils anderen „überschreiben“.
Gibt es eine empfohlene Möglichkeit, mehrere unabhängige UI-Skripte aus demselben Journal zu starten, sodass alle aktiv bleiben?
Danke,
Adam
Automatisierung und SkriptingDatenexploration und -visualisierungQualitäts- und ProzesstechnikBetreff: Mehrere dynamische Benutzeroberflächen ausführenIch denke, die enthaltenen JSL-Skripte nutzen wahrscheinlich alle den Fensterkontext des Journals (d. h. sie nutzen JSL-Variablen). Vergleichen Sie das mit dem Öffnen jedes Skripts in seinem eigenen Fenster. Jedes Skript hat seinen eigenen Kontext aus seinem JSL-Fenster.
Wenn das richtig klingt, wird wahrscheinlich ein kleines Beispiel (zwei Skripte und ein Tagebuch) jemandem helfen, eine Antwort vorzuschlagen, die nicht viel Nacharbeit erfordert.
Betreff: Mehrere dynamische Benutzeroberflächen ausführenInclude() bietet einige optionale Argumente, die manchmal hilfreich sein können: << Neuer Kontext und << Namen werden hier standardmäßig verwendet, ( Include("Pfadname", und Scripting Guide > Programmiermethoden > Erweiterte Programmierkonzepte > Skript einbinden ), aber ich bin nicht sicher, ob dies die Lösung für Ihr Problem ist.
Wie Craige vorgeschlagen hat, erleichtert das Teilen einiger Beispiele die Bereitstellung von Ideen.
Betreff: Mehrere dynamische Benutzeroberflächen ausführen---gelöscht---
Betreff: Mehrere dynamische Benutzeroberflächen ausführenDanke! Das Hinzufügen von << Neuer Kontext hat das Problem gelöst.:)