cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Browse apps to extend the software in the new JMP Marketplace
Choose Language Hide Translation Bar
AndresGlez
Level III

Error for JMP application from JMP14 to JMP15

Good day JMP community, I just installed JMP15 and I am finding some errors, hoping somebody can help me to fix this.

I developed an application in JMP 14 to make interactive analysis easier, however I am finding errors when trying to use same application with JMP15.

Here brief explanation of application, I press a button in the app and appears screen to interactively encode data (Baseline), then as user encodes the condition to be used as baseline, ANOVA is created.

Here the script I am using (this scripts runs in the application when the corresponding button is pressed):

 

 

nw = New Window( "SCRIPT REQUIREMENTS",
    <<Modal,
    H List Box(
        V List Box(
            Text Box( "Provide Baseline" ),
            Text Box( "" ),
            Lineup Box( 2, Text Box( "BASELINE" ), conditionlist_box = Text Edit Box( "", set width( 80 ) ) ),

        ),
        V List Box( Text Box( "" ), Button Box( "OK" ), Button Box( "Cancel", nw << Close Window ) )
    )
);
CND1 = conditionlist_box << get text;
If( nw == {Button( -1 )},
    Stop()
);
Show( CND1 );

Oneway(
    Y( :FINALTHICKNESS ),
    X( :CONDITION ),
    All Pairs( 1, Ordered Differences Report( 1 ) ),
    With Control( 1, {Char( CND1, "\!N" )} ),
);

 

Let's say I encoded "A" (as baseline), then JMP 14 executes the ANOVA, I can see this is in the LOG of JMP14:

CND1 = "A";
Oneway[]

 

However if I try to use JMP 15, this is the error I get (it seems CND1 is not picked or recognized):

 

 

deleted object reference: conditionlist_box << get text in access or evaluation of 'Glue' , nw = New Window( "SCRIPT REQUIREMENTS",
<<Modal,
H List Box(
V List Box(
Text Box( "Provide Baseline" ),
Text Box( "" ),
Lineup Box(
2,
Text Box( "BASELINE" ),
conditionlist_box = Text Edit Box( "", set width( 80 ) )
)
),
V List Box(
Text Box( "" ),
Button Box( "OK" ),
Button Box( "Cancel", nw << Close Window )
)
)
); /*###*/CND1 = conditionlist_box << get text; /*###*/
If( nw == {Button( -1 )},
Stop()
); /*###*/Show( CND1 ); /*###*/Oneway(
Y( :FINALTHICKNESS ),
X( :CONDITION ),
All Pairs( 1, Ordered Differences Report( 1 ) ),
With Control( 1, {Char( CND1, "
" )} )
) /*###*/;

In the following script, error marked by /*###*/
nw = New Window( "SCRIPT REQUIREMENTS",
<<Modal,
H List Box(
V List Box(
Text Box( "Provide Baseline" ),
Text Box( "" ),
Lineup Box(
2,
Text Box( "BASELINE" ),
conditionlist_box = Text Edit Box( "", set width( 80 ) )
)
),
V List Box(
Text Box( "" ),
Button Box( "OK" ),
Button Box( "Cancel", nw << Close Window )
)
)
); /*###*/CND1 = conditionlist_box << get text; /*###*/
If( nw == {Button( -1 )},
Stop()
); /*###*/Show( CND1 ); /*###*/Oneway(
Y( :FINALTHICKNESS ),
X( :CONDITION ),
All Pairs( 1, Ordered Differences Report( 1 ) ),
With Control( 1, {Char( CND1, "
" )} )
) /*###*/;

 

1 ACCEPTED SOLUTION

Accepted Solutions
txnelson
Super User

Re: Error for JMP application from JMP14 to JMP15

Changing the setting of "conditionlist_box" to be populated when the Text Edit Box is changed, fixes the issue

nw = New Window( "SCRIPT REQUIREMENTS",
<<Modal, 
H List Box(
V List Box(
Text Box ("Provide Baseline"),
Text Box( "" ),
Lineup Box( 2, Text Box( "BASELINE" ), conditionlist_box = Text Edit Box( "", set width(80),
<<set script(CND1 = conditionlist_box << get text;) ) ),
),
V List Box( Text Box( "" ), Button Box( "OK"),
Button Box( "Cancel" , nw << Close Window) )
)
);

If( nw == {Button( -1 )}, Stop() );
show (CND1);

Oneway( Y( :FINALTHICKNESS ), X( :CONDITION ),
All Pairs( 1, Ordered Differences Report( 1 ) ),
With Control( 1, {char( CND1, "\!N")} ), );
Jim

View solution in original post

3 REPLIES 3
txnelson
Super User

Re: Error for JMP application from JMP14 to JMP15

Changing the setting of "conditionlist_box" to be populated when the Text Edit Box is changed, fixes the issue

nw = New Window( "SCRIPT REQUIREMENTS",
<<Modal, 
H List Box(
V List Box(
Text Box ("Provide Baseline"),
Text Box( "" ),
Lineup Box( 2, Text Box( "BASELINE" ), conditionlist_box = Text Edit Box( "", set width(80),
<<set script(CND1 = conditionlist_box << get text;) ) ),
),
V List Box( Text Box( "" ), Button Box( "OK"),
Button Box( "Cancel" , nw << Close Window) )
)
);

If( nw == {Button( -1 )}, Stop() );
show (CND1);

Oneway( Y( :FINALTHICKNESS ), X( :CONDITION ),
All Pairs( 1, Ordered Differences Report( 1 ) ),
With Control( 1, {char( CND1, "\!N")} ), );
Jim
Georg
Level VII

Re: Error for JMP application from JMP14 to JMP15

@txnelson  already provided a solution.

 

May be more general remarks for future projects:

  • please use the JSL formatting option in the post, makes it much more readable
  • In Scripteditor you can also let JMP format your script (Edit menu, or Crtl-M), I find it very useful
  • JMP changes from time to time how Objects are handled, your object "Texteditbox" has gone, when the window is closed, so no data can be retrieved anymore, @txnelson provided a solution to overcome
  • Other solutions can be found in scripting index (hope so also in future), searching for modal window
  • following script is from scripting index and slightly modified, you can play with it to understand how values are returned with option "Return Result"; I find this a good and easy way for more complex windows.

 

Names Default To Here( 1 );
window_reference = New Window( "Dialog() example",
// try comment out next line
	<<Modal,
	<<Return Result,
	V List Box( H List Box( "Set this value", variable = Number Edit Box( 42 ) ), H List Box( Button Box( "OK" ), Button Box( "Cancel" ) ) )
);

// show(variable<< get);
show(window_reference);
Georg
AndresGlez
Level III

Re: Error for JMP application from JMP14 to JMP15

Thank you @txnelson for the support, it fixed my problem.

Also thanks @Georg, after your suggestion I used the CTRL-M in my scripts, you are right it is very helpful and more readable.