Hallo zusammen,
Vor kurzem habe ich mich mit der JMP-Skripterstellung beschäftigt und versuche mein Bestes, es zu lernen.
Das Ziel des folgenden Beispiels besteht darin, den Wert der „Spalte“ für die ausgewählten Zeilen anzuzeigen.
Cols = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1", "PNP4", "NPN3", "IVP2", "NPN4", "SIT1", "INM1", "INM2",
"VPM1", "VPM2"};
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
Define Class(
"Test_Class",
_init_ = Method( {dt, Cols},
my_dt = dt;
my_cols = Cols;
Make_Win();
);
Make_Win = Method( {},
New Window( "ProcessScreening",
Vlist_box = V List Box(
PS,
MyButton = Button Box( "SelectedRows", SendRows ),
),
),
);
PS = dt << Process Screening(
Y( Eval(my_cols)),
Control Chart Type( "Indiv and MR" ),
Minimum Process Length( 1 ),
Use Medians instead of Means( 1 ),
Show tests( 0 ),
Test 1( 0 ),
Cp( 1 ),
Spec Limits( 1 ),
);<BR />
SendRows = Expr(
print_cols = Report( PS )[Table Box( 1 )][String Col Box( 1 )] << getselectedrows();
Print( Report( PS )[Table Box( 1 )][String Col Box( 1 )][print_cols] );
);
);<BR />
my_obj = New Object( Test_Class( dt, Cols ) );Fehlercode:
Send Expects Scriptable Object in access or evaluation of 'Send' , my_dt << /*###*/Process Screening(
Y( Eval( my_cols ) ),
Control Chart Type( "Indiv and MR" ),
Minimum Process Length( 1 ),
Use Medians instead of Means( 1 ),
Show tests( 0 ),
Test 1( 0 ),
Cp( 1 ),
Spec Limits( 1 )
) /*###*/
object not subscriptable in access or evaluation of 'Report(PS)[ /*###*/Table Box(1)]' , Report( PS )[/*###*/Table
Ich habe versucht, das Skript außerhalb einer Klasse zu verwenden, und es scheint zu funktionieren. Haben Sie eine Ahnung, was an der obigen Implementierung falsch ist?
Hallo,
Sie erwähnen nicht, welche Version von JMP Sie verwenden. Das hat bei mir mit JMP 17 gut funktioniert. Steht oben in Ihrem Skript Folgendes?
Namen sind standardmäßig hier ( 1 );
Wenn mehrere Skripte ausgeführt werden, kann dies einen Unterschied machen.
Brian Corcoran
JMP-Entwicklung
Haben Sie einen bestimmten Grund, dies mit Klassen zu erstellen? Wenn Sie gerade erst mit der JMP-Skripterstellung beginnen, würde ich sagen, dass es eine gute Idee sein könnte, sich vom Unterricht fernzuhalten.
Hallo Brian,
Tut mir leid, dass ich nicht genauer bin. Das obige Skript wird ausgeführt, aber beim Klicken auf die Schaltfläche „SelectedRows“ wird der Fehler angezeigt.
Ich verwende dies auf JMP 17.