Are you using wait() statements? Maybe you can switch to using dt<<runFormulas and displaybox<<updateWindow which avoid the wait statement issues (how long to wait, button events run).
I used this to try to understand what's happening:
New Window( "x",
t = Text Box( "" ),
Button Box( "updatewindow",
print("pressed updatewindow");
start = Tick Seconds();
For( i = 1, i < 1e3, i++,
t << settext( Char( i ) );
t << updatewindow;
);
stop = Tick Seconds();
t << settext( Char( stop - start, 4, 1 ) );
),
Button Box( "wait",
print("pressed wait");
start = Tick Seconds();
For( i = 1, i < 1e3, i++,
t << settext( Char( i ) );
Wait( 0 );
);
stop = Tick Seconds();
t << settext( Char( stop - start, 4, 1 ) );
)
);
change the 1e3 to 1e4 if it runs too fast. The "wait" button allows events to process, including either button to be pressed during the script that "wait" is running. The "updatewindow" button only updates the text box and queues additional clicks until the script finishes.
Sometimes wait() is unavoidable; when a platform is launched it will not appear on the screen without a wait(). And JMP's background processing also requires a wait() in a script that is looping (sockets, runprogram, database connections, probably others).
The log message does not look like it should hurt anything; I think it is just warning that a second press of the same button before the button script finishes has been ignored.
Craige