Assoziatives Array-JMP-Add-InDas Skript läuft einwandfrei von selbst.
Aber wenn ich daraus ein jmp-Addin mache, läuft es bis zum Erstellen des finalen Tisches, stoppt aber danach.
In meinem Skript fragt der Benutzer beim Ausführen zunächst die Datei1 und dann die Datei2. Nachdem der Benutzer beide Dateien angegeben hat, führt er die Datei zusammen und spuckt Diagramme im angegebenen Ordner aus.
Wie gesagt, wenn ich es einfach als Skript laufen lasse, habe ich kein Problem.
Nachdem das JMP-Add-In erstellt wurde, wird es direkt nach der Verkettung der beiden Tabellen angehalten. Es gelangt nicht in das assoziative Array der finalen Tabelle und führt die Berechnung aus.
Ich habe die Dateien addin.def, addin.jmpcust und die .jsl-Datei im Ordner.
Gibt es etwas, das ich bezüglich des assoziativen Arrays für die "for" -Schleife aktualisieren muss, wenn ich versuche, durch das JMP-Add-In zu laufen?
Ich weiß die Hilfe wirklich zu schätzen. Vielen Dank
Re: Assoziatives Array-JMP-Add-InEin großer Unterschied zwischen dem Ausführen eines Skripts und dem Ausführen eines Skripts als Add-In besteht darin, dass als Add-Ins ausgeführte Skripts (und generell Skripts, die über Menüanpassungen ausgeführt werden) standardmäßig mit ausgeführt werden Namen als Vorgabe hier (1) Wenn Sie jedoch nur ein Skript ausführen, wenn Sie nicht explizit hinzugefügt haben Namen als Vorgabe hier (1) In Ihrem Skript wird der globale Namespace verwendet. Sie können diesen Unterschied über den Menü-Editor steuern:

Dieses Kästchen ist standardmäßig aktiviert. Mein Vorschlag für die Zukunft lautet: Wenn Sie über ein Skript verfügen, das zwar einwandfrei ausgeführt wird, aber bei Ausführung über ein benutzerdefiniertes Menüelement fehlschlägt, deaktivieren Sie dieses Kontrollkästchen und prüfen Sie, ob das Problem dadurch behoben wird. Wenn dies der Fall ist, suchen Sie nach Scoping-Problemen in Ihrem Skript (und es klingt wie das, was Sie gefunden haben). Eine andere Sache, die Sie tun können, ist sich daran zu gewöhnen, hinzuzufügen Namen als Vorgabe hier (1) als erste Zeile aller Skripts, und sie sollten sich gleich verhalten, unabhängig davon, ob sie eigenständig oder als Teil eines Add-Ins ausgeführt werden.
Warum deaktivieren Sie nicht einfach das Kästchen und lassen es nicht aktiviert? Nun, es ist eine gute Praxis, die Hier Namespace, um zu verhindern, dass Skripts unbeabsichtigte Nebeneffekte auf andere Skripts und Add-Ins haben.
HTH,
Eric
Re: Assoziatives Array-JMP-Add-InBehoben. Musste es erneut auf die Datentabelle verweisen.
Ich danke dir sehr.Re: Assoziatives Array-JMP-Add-InDanke für die Antwort, Jeff.
Ich habe einen Fehler beim Ausführen des jmp-Addins im Protokollfenster gefunden.
Ich habe einen Ausdruck, der sagt, wo (Wafer == Expr (currentwafer)) und alle Wafer-Nummern in einer Schleife durchlaufen.
Diese Where-Klausel für die Datentabelle 'Final table' ergab keine Zeilen: Wafer == "11" // (Ich habe Zeilen für Wafer 11)
Senden erwartet Scriptfähiges Objekt {1} beim Zugriff oder bei der Auswertung von "Senden".
Ich erhalte diesen Fehler nicht, wenn ich nur als Skript laufe.
Irgendwelche Gedanken?Re: Assoziatives Array-JMP-Add-InEs kann schwierig sein, Dinge zu debuggen, die funktionieren, wenn sie als Skript ausgeführt werden, aber als Add-In fehlschlagen.
Als Erstes müssen Sie nach der Ausführung des Add-Ins feststellen, ob im Protokollfenster Fehlermeldungen angezeigt werden. Wenn dies der Fall ist, erhalten Sie (und uns) einen Hinweis auf das Problem.
Sie können Ihren Code auch mit show () - Anweisungen in verschiedenen Abschnitten instrumentieren, um zu beginnen, den fehlerhaften Abschnitt einzuschränken.
Versuchen Sie es mit diesen Schritten und teilen Sie uns Ihre Ergebnisse hier mit.