Hola, con la esperanza de obtener ayuda con un script JSL. Tengo problemas con un objeto newImage que permanece abierto pero está completamente oculto. La única forma en que sé que está abierto es porque Windows no puede eliminar el archivo porque dice que está abierto en otro programa que se corrige al cerrar JMP. Aquí hay un fragmento de mi código, he intentado algunos obj << close () y obj << close window () pero el objeto permanece.
img_t = newImage(path_to_results||"/"||subfolder_list[k]||"/"||image)
w2 = new window("Image", Show Toolbars(0), Show Menu(0), img_t);
w2 << Add Simple ShapeAnnotation(Oval(PX-25,PY-25,PX+25,PY+25 ),color("Yellow"),raised(1));
img= w2 << getpicture();
img_t << Close Window;
w2 << Close Window;
img<<SET size=""></SET>¿Alguna sugerencia?
Si comienza con una nueva sesión en JMP, intente este script:
Names Default to here(1);
img_t = New Image( "$SAMPLE_IMAGES/tile.jpg" );
w2 = new window("Image", Show Toolbars(0), Show Menu(0), img_t);
{PX,PY} = w2 << get size;
w2 << Add Simple ShapeAnnotation(Oval(PX-25,PY-25,25,25 ),color("Yellow"),raised(1));
img= w2 << get picture();
w2 << Close Window;
//the image objects still exist
//show(img);
//show(img_t);
img = empty();
img_t = empty();
show(img, img_t); //see LOG: img = Empty(); img_t = Empty();
delete symbols({img, img_t});
show symbols();
Luego mira la ventana de REGISTRO. Verás esto: tres resultados de la demostración. Los símbolos / objetos pueden ser locales, aquí y globales. Tenga en cuenta que tengo uno global que probablemente no tendrá. Entonces, la clave es reemplazar una variable con un nuevo valor y eliminar el nombre (símbolo). Es posible que desee aprender más sobre Espacios de nombres en la guía de scripts JMP.
img = Empty();
img_t = Empty();
// Here
img = Empty();
img_t = Empty();
PX = 451;
PY = 451;
w2 = DisplayBox[];
// 5 Here
// Global
com.jmp.wmurph.crashrpt.flag = 0;
// 1 Global