lunes, 21 de enero de 2008

Ejecutable externo desde una regla de un método

Para llamar a un ejecutable externo desde una regla de un método LN4, esto es lo que se hace:
  1. Crear un método de tipo DLL, cuyo recurso empleado sea "m4jsutils" y el método "ExecuteProgram". Hay que definir también un argumento de tipo Long.
  2. Una vez creado este método tan solo hay que llamarlo desde el que se desee ejecutar, pasandole la ruta y el nombre del programa externo, por ejemplo:

EJECUTAR("c:\winnt\system32\notepad.exe")

ó

CXX_RUTA_EJECUTABLE = "c:\winnt\system32\notepad.exe"
EJECUTAR(CXX_RUTA_EJECUTABLE)


Donde EJECUTAR es el método que registra la DLL y donde CXX_RUTA_EJECUTABLE puede ser una propiedad o campo por la que introducir la ruta en Tiempo de ejecución desde la presentación.

Nota (gracias a Franco Tarchini, Colombia): para rutas con directorios cuyo nombre sea mayor de 8 caracteres hay que usar los 6 primeros caracteres de dicho directorio más el caracter "~" (alt + 126) y un número correlativo al número de directorios que contengan esa raiz de 6 caracteres. Por ejemplo:

"c:\Archivos de programa\" equivale a "c:\Archiv~1\"

Espero que os sea de utilidad...

4 comentarios:

Anónimo dijo...

Oscar:

buen dia, me pregunto si existe un mecanismo similar a como funciona el m4jsutil; pero que te funcione sobre una instalación linux?

Oscar López dijo...

Me temo que PeopleNet no dispone aún de esta plataforma (Linux) y por lo tanto no sé si han investigado en este sentido.

Quizás si dispones de una libreria DLL capaz de que Windows/Unix/Aix "hablen" con un Linux puedas conseguir algo.

Si eres un cliente de Meta4 ponte en contacto con su servicio de Soporte y que te cuenten las posibilidades (pero no creo que se metan mucho)

Un saludo!
Oscar L.

Andrés Palomar dijo...

Buen Día,

Hay alguna forma de ejecutar el archivo, como administrador, así como cuando lo ejecutas en el ambiente Windows, con el clic derecho "Run as administrator", al ejecutarlo me sale lo siguiente:

No se encontró el atributo "CommonFiles_Path" en el registro.
Debe consultar con el administrador.
Esto sucedió en el camino "SOFTWARE\Meta4\Mind\3.X\BUILD\appserver02\CLIENT\CLIENT\Presentation Runtime Vars".

De antemano Gracias

Saludos

Andres Palomar

Oscar López dijo...

Andrés, me temo que ese error no es poder ejecutar en modo administrador. Parece que no tienes bien configurado el appserver. Revisa el registro de Windows en la ruta que te indica o el propio appserver. Si prefieres contáctame por mail para que podamos ver mejor tu problema.
Un saludo,
OscarLG