Fehler beim direkten Ausführen des Add-Ins auf der JMP-HomepageHallo JMP-Community:
Ich speichere 2 Skripte in Add-Ins und in bestimmten Situationen tritt ein Fehler auf. Die Skripte funktionieren wie folgt:
- Das erste Add-In erstellt eine neue Tabelle und mehrere neue Spalten. Nennen wir diese neue Tabelle "Berechnungstabelle".
- Als nächstes werde ich das zweite Add-In in "Tabelle berechnen" ausführen. Dazu muss eine weitere vorhandene Datei geöffnet werden (nennen wir sie "Rohdatentabelle"), dann werden Daten aus der "Rohdatentabelle" abgerufen und etwas in die "Tabelle berechnen" eingegeben.
//This is the first script
Names Default To Here( 1 );
New Table( "Calculate table");
dt = current data table();
newcolumn = {"X", "Y"};
for each({colval},newcolumn,
dt << new column(colval);
);
//This is the starting lines of 2nd script
Names Default To Here( 1 );
dt = current data table();
file = Pick file( "Select raw data table" );
if(is empty(file),
show("No file selected");
stop();
);
Try(
dt2 = open(file);
,
show("No file selected");
stop();
);<BR /> // The following code are not shown here
Situation ohne Fehler:
- Wenn ich eine beliebige Datentabelle öffne, das erste Add-In ausführe und dann das zweite Add-In in der neuen Tabelle ausführe, funktioniert es
Situation mit Fehler:
- Wenn ich das erste Add-In direkt auf der JMP-Homepage ausführe und dann das zweite Add-In ausführe, wird das zweite Add-In einen Fehler aufweisen
Das zweite Add-In ruft im Wesentlichen Daten und Spaltenformeln aus der Rohdatentabelle ab und gibt sie in die Berechnungstabelle ein. Anschließend wird ein neues Fenster mit einem Schieberegler erstellt. Der Schieberegler funktioniert bei einem Fehler nicht, aber das Abrufen von Daten und Formeln funktioniert weiterhin.
Automatisierung und SkriptingBetreff: Fehler beim direkten Ausführen des Add-Ins auf der JMP-StartseiteEine Vermutung: Die aktuelle Datentabelle entspricht nicht Ihren Erwartungen. Drucken Sie sie zur Überprüfung ins Protokoll. Ich vermute, die aktuelle Datentabelle befindet sich in einem Kontext, der oft zu einem Fenster gehört, und das Home-Fenster fügt einen weiteren Kontext hinzu. Indem Sie das Add-In aus der Tabelle ausführen, stellen Sie wahrscheinlich (1) sicher, dass die Tabelle aktuell ist, indem Sie sie berühren, und (2) erhalten Sie den Kontext, der diese Tabelle als aktuelle Tabelle enthält.
Betreff: Fehler beim direkten Ausführen des Add-Ins auf der JMP-StartseiteIch habe es so gemacht, wie Sie gesagt haben, habe dt und dt2 gedruckt und sie sind korrekt.
Dann wurde mir klar, dass ich beim Aufrufen von Spalten im Schiebereglerfeld nicht angegeben habe, welche Datentabelle verwendet wird. Daher habe ich dt: vor die Spalte gesetzt.
Ich füge auch noch eine weitere aktuelle Datentabelle (dt) in der Mitte des Codes hinzu, nachdem ich dt2 geschlossen habe
Jetzt funktioniert es gut.
lubPP = Lineup box(NCol(1),
PPtb = Text Box( "PP: " || Char( PPmin ) ),
PPsb = Slider Box(
PPmin, PPmax, PPValue,
PPb << Set Text( "PP: " || Char( PPValue ) );
:PP << set each value(PPValue); // I should use dt:PP here
new = dt:NewPP << get values;