La ventana JMP no se cierraEstoy trabajando en un script que solo hace edición básica de imágenes. Tengo mi imagen en una ventana, luego al hacer clic en una ventana de "Opciones de imagen" se abre una ventana con controles deslizantes para el contraste y el brillo. Cada vez que cierro la ventana de opciones de imagen, en realidad nunca se cierra, la ventana simplemente está oculta. Presionar la "x" en la esquina no hace nada. Incluso agregué un botón "Cerrar" que solo dice << Cerrar ventana, pero luego simplemente lo oculta. Para que se cierre, tengo que cerrar JMP por completo. ¿Se me escapa algo?
Names Default To Here( 1 );
img = Open( "$SAMPLE_IMAGES/windmap.png", "png" );
orig = New Image( img );
wind = New Image( orig );
slbval = 1;
slbval1 = 1;
w = New Window( "View Image",
vlb = V List Box(
Graph Box(
FrameSize( 500, 500 ),
X Scale( 0, 100 ),
Y Scale( 0, 100 ),
<<ADD image=""></ADD>
Re: Ventana JMP no cierraHola @pen51 ,
Puede agregar 1 al argumento Al cerrar.
<< On Close ( optionswindowopen = 0; 1)
De esta forma devolverá el resultado del último argumento; en este caso 1.
salud,
Stan
Re: Ventana JMP no cierra@stan_koprowski te ha apuntado en la dirección correcta y haces una buena pregunta y la respuesta apunta a una sutileza de JSL.
La clave es recordar que todo en JSL es una función, incluso operadores como = que es equivalente a Asignar () función . Como todo es una función, todas devuelven algo. La función Assign() devuelve el valor que se asigna.
Entonces, debido a que su argumento OnClose() es una función Assign() que asigna 0, y debido a que la función Assign() devuelve el valor asignado, devuelve 0, y debido a que On Close() dice que la ventana no se cerrará si la función a la que se llama devuelve 0, la ventana nunca se cerrará.
Sin embargo, dado que todo es una función, el ; El operador es en realidad el Pegamento() función. La función Glue() devuelve el resultado de su último argumento. Entonces, puede solucionar esto haciendo cualquier otra cosa en su secuencia de comandos On Close() después de la asignación, como simplemente poner un 1.
Entonces, esto funcionará para usted:
imgop = New Window( "Image Options",
<<ON close=""></ON>
Re: Ventana JMP no cierraHola Stan, optionswindowopen es solo un booleano para decir si la ventana está abierta o no. Como estoy cerrando la ventana, On Close establecería el valor booleano en 0. Si la ventana está abierta, el booleano es 1. Me gustaría mantener este valor booleano con esta lógica, entonces, ¿tiene alguna solución?
Re: Ventana JMP no cierraHola @pen51 ,
El problema con el script está en la línea 32:
<<ON close=""></ON>
La ventana nunca se cerrará cuando se establezca en 0.
Si cambias a
<<ON close=""></ON>
Cierra como se esperaba.
De acuerdo con el índice de secuencias de comandos, si << On Close() devuelve cero (0), se impide que la ventana se cierre.
<<On Close<<On Close<
salud,
Stan
Re: Ventana JMP no cierra@pen51 ,
Probé este script en JMP 13.1.0 y tuve el mismo problema.
Re: Ventana JMP no cierraEstuve en contacto con el soporte de JMP, pero el técnico con el que hablé no pudo replicar el problema con el mismo script. Estoy ejecutando JMP 13.1, @cwillden que estas corriendo Intentaré actualizar y ver si funciona, pero las esperanzas no son altas ya que @txnelson También tuve este problema en JMP 14.
Re: Ventana JMP no cierralol, me paso lo mismo en JMP 13. Gracias @pen51 por infectar nuestras computadoras también con su extraño virus no intencional (j/k).
Re: Ventana JMP no cierraEsto es muy curioso... Jugué con él y no pude encontrar ninguna razón consistente para que la ventana de opciones pudiera cerrarse.De hecho, bajo JMP 14, mi sesión de JMP no se cerraría.Tuve que forzar el cierre de un sistema operativo.
Esto debe enviarse a la gente de soporte de JMP....
support@jmp.com