¿El cifrado hace que el script de creación de un mapa personalizado falle?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Estoy escribiendo un programa en JMP 10 donde un componente integral es la generación automática de los tres archivos * -XY.jmp, * -Name.jmp y * -Data.jmp que son necesarios para definir formas de mapas en Graphbuilder usando el Creador de mapas personalizados Addin. El rol de mapa "Uso de forma de nombre" en el archivo * -Data.jmp parece querer una ubicación de ruta de archivo absoluta para el archivo * -Name.jmp, así que guardo esa fecha en el directorio "$ TEMP \" y luego refiérase a su ubicación como tal en la propiedad Map Role del archivo * -Data.jmp. Ha estado funcionando perfectamente durante semanas sin problemas.
Ahora que el resto del programa está listo para su primera distribución beta, cifré el código en preparación para enviarlo a los miembros del grupo de prueba. Sin embargo, ahora que el programa está cifrado, no puede ubicar el archivo * -Name.jmp que guardé y, por lo tanto, muestra un montón de ventanas en blanco del generador de gráficos en blanco y el mensaje "No se encontraron formas del mapa: "debajo de cada uno. Verifiqué que el archivo aún se está creando en la ubicación correcta exactamente como estaba antes, y que si abro la tabla de datos para uno de los gráficos vacíos y miro la propiedad de rol de mapa de la columna Nombre, enumera Ubicación correcta del archivo allí. Pero por alguna razón no puedo hacer que realmente muestre las formas del mapa sin descifrar el archivo de script.
Si alguien tiene alguna especulación acerca de por qué sucede esto, cómo se puede solucionar, o si hay alguna otra forma de señalar el archivo * -Data.jmp al archivo * -Name.jmp sin una ruta absoluta, permítame saber.
Re: El cifrado hace que la secuencia de comandos de creación de un mapa personalizado falle?Está bien, he encontrado un paso en la dirección correcta. Hay dos scripts principales: uno es una GUI, y eso llama a la función principal "hacer que las cosas sucedan" que crea los mapas personalizados. Hice un complemento que incluye los dos archivos principales y modifiqué el código para que se creen otros archivos en la carpeta de complemento del programa. El archivo de script de GUI se puede cifrar muy bien, y aún así leer y escribir en otros archivos normalmente. Sin embargo, el código en la secuencia de comandos de la función principal no se puede cifrar sin el problema de formas de mapa faltantes descrito en la publicación original.
Lo que luego noté fue que solo con la secuencia de comandos cifrada, el archivo * -Name.jmp asignaba a la columna "Nombre" la propiedad "rol de mapa", pero / no estaba / especificándolo como "Definición de nombre de forma", simplemente se fue en blanco Eso explicaría por qué El cambio de ubicación no parece ayudar, aunque la función de mapa "Uso del nombre de forma" está viendo la ruta correcta del archivo y el archivo se genera en el lugar correcto. La secuencia de comandos sin cifrar especifica la función muy bien. ¿Alguna idea de cómo hacer que esto funcione? El programa hace un montón de mapas, por lo que debe hacerse en secuencia, no después del hecho. ¿Tal vez hacer una función personalizada o simplemente sacar una línea de código y pegarla en un archivo separado sin cifrar e incluirla en el lugar correcto? Esto es algo extraño, si el descifrado está cambiando el código.
Como nota al margen, es la $ ADDIN_HOME designación disponible en JMP 9? Creo que los complementos se introdujeron en JMP 8, pero me gustaría estar seguro de que los intérpretes de JMP 9 JSL podrán entenderlo.
Re: El cifrado hace que la secuencia de comandos de creación de un mapa personalizado falle?No estoy seguro de que funcione, pero ¿has intentado usar un complemento para tu aplicación? Puede poner sus conjuntos de datos en el directorio del complemento y referirse a ellos con el nombre "lógico" del complemento. Por ejemplo, si su complemento está definido por (com.abc.def.myapp), entonces puede usarlo así:
dt = abierto ( "$ ADDIN_HOME (com.abc.def.myapp) \ AAA-XY.jmp" ) ;