Der Benutzer erhält Fehler mit meinem Skript, die ich nicht reproduzieren kann.Ich habe meine App fertiggestellt und funktioniert auf meinem Macihne wie beabsichtigt. Ich habe es an wenige Benutzer geschickt, um die App zu testen. Benutzer erhalten Fehlermeldungen, wo sie nicht sollten.
Für einen Teil des Skripts müssen Sie eine Spalte aus der Col-Liste auswählen.
Ich habe dieses Col-List-Feld zuvor im Skript erstellt und ein onChange-Skript zugewiesen, das so ziemlich liest, welche Spalte ausgewählt ist:
colListX = Col List Box (Data Table(dt<<GET name=""></GET>
Wenn Benutzer jetzt auf eine Spalte im Col List Box klicken, wird die folgende Fehlermeldung angezeigt. Ich habe einige show () -Befehle in den Code eingefügt und sie gebeten, ihn auszuführen:

Hier also colListX - ist die Col List Box, mit der ich arbeite. colListXselected - ist die aktuell ausgewählte Spalte, die ich von Get Selected bekomme. Interessant: Benutzer haben es im Protokoll als angezeigt
colListXselected = {"eventtime"};
Is Scriptable(colListXselected) = 1;
wihle mein Protokoll zeigt es als
colListXselected = {:eventtime};
Is Scriptable(colListXselected) = 1;
und der laufende Code ist identisch.
Ich schätze, der ganze Fehler tritt auf, weil die Benutzer es nicht als Spalte haben. Wenn das Objekt auch skriptfähig ist, kann die Nachricht "Name abrufen" nicht auf das Objekt angewendet werden, da es keine Spalte ist.
Irgendeine Idee, warum Benutzer diesen Unterschied zu meiner Ausgabe haben? Wie kann ich das Problem beheben?
Vielen Dank,
M
Re: Der Benutzer erhält Fehler mit meinem Skript, die ich nicht reproduzieren kann.Dies war ein Problem in JMP 13.0.0. Siehe JMP Problembeschreibung 59737 für Details. Sie können das kostenlose Update auf JMP 13.2.1 vom herunterladen JMP-Software-Updates Seite.
Hoffentlich hilft das!
Re: Der Benutzer erhält Fehler mit meinem Skript, die ich nicht reproduzieren kann.Habe gerade Zeit, um wieder auf dieses Thema zuzugreifen.
Vielen Dank für die Fehlerbehebung - es macht jetzt Sinn, da ich weiß, warum meine Benutzer diesen Fehler erhalten.
Was ich nicht verstehe ist, warum mein JMP eine Liste von Spaltenreferenzen zurückgibt, während es angeblich (und bei anderen Benutzern) eine Liste von Strings zurückgibt.
Um den Rest des Codes auszuschließen und sicherzustellen, dass er keine Auswirkungen darauf hat, schrieb ich dieses kleine Skript und bat meine Benutzer, es auszuführen:
Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Col List Box Example",
colList = Col List Box( all, width( 250 ), maxSelected( 1 ) ),
);
colList << Set Selected (2);
colListSelected = colList<< Get Selected;
testString="test";
show(Type(testString));
show(Type(colListSelected));
show(Type(colListSelected[1]));
show(colListSelected[1]);
Mein JMP gibt dies zurück:
Type(testString) = "String";
Type(colListSelected) = "List";
Type(colListSelected[1]) = "Name";
colListSelected[1] = :age;
Ihre JMP gibt dies zurück:
Type(testString) = "String";
Type(colListSelected) = "List";
Type(colListSelected[1]) = "String";
colListSelected[1] = "age";
Wie ist das möglich? Jeder von JMP kann sich das ansehen? Oder soll ich es an den Support schicken?
Vielen Dank,
M
Re: Der Benutzer erhält Fehler mit meinem Skript, die ich nicht reproduzieren kann.Sie können die JMPVersion () - Funktion verwenden, um die JMP-Version zu drucken.
Re: Der Benutzer erhält Fehler mit meinem Skript, die ich nicht reproduzieren kann.Miguello,
ColListBox << get selected gibt eine Liste von Spaltennamen zurück, d. H. Eine Liste von Zeichenfolgen in Anführungszeichen. Ich habe keine Ahnung, wie Ihr Ergebnis eine Spaltenreferenz ist. Zum Fehler: Schauen Sie sich das folgende Skript an. Beide Listen usrsel1 und usrsel2 sind Listen und skriptfähig. usrsel1 [1] ist skriptfähig, da es sich um eine Spaltenreferenz handelt: Es gibt Nachrichten (Methoden). usrsel2 [1] ist eine Zeichenfolge, die nicht skriptfähig ist. Das ist, was Ihre gemeldete Fehlermeldung Ihnen sagt.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
usrsel1 = { :height };
usrsel2 = { "height" };
//Run one line at a time
Show( IsScriptable(usrsel1), IsScriptable(usrsel2) ); // both are 1
Show( IsScriptable(usrsel1[1]), IsScriptable(usrsel2[1]) ); //results are 1, 0
show(usrsel1[1] <<GET name=""></GET>Ich kenne keine Präferenz oder Option (unter Windows), an der die ausgewählten Spaltenreferenzen zurückgegeben werden.