Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-06-2010
Thoronluin Thoronluin is offline
Miembro
 
Registrado: feb 2009
Posts: 39
Poder: 0
Thoronluin Va por buen camino
Ejecutar Java con winexec

Hola a tod@s:

No se si poner esta pregunta en este foro o en el de Java. El caso es el siguiente:

Tengo un archivo .bat que ejecuta un código en Java. Si lo que hago es esto:

Código Delphi [-]
WinExec(PChar('C:\Aplicacion\ejecu-v10\lanzar-Aplicacion.bat'),SW_SHOWNORMAL);

La cosa funciona.

Si ejecuto directamente el código contenido en el .bat (los puntos suspensivos indica más codigo parecido):

Código Delphi [-]
WinExec(PChar('start javaw -classpath "C:\Aplicacion\ejecu-v10\Interfaz.jar;C:\Aplicacion\ejecu-v10\archivo1.jar;C:\Aplicacion\ejecu-v10\archivo2.jar; ... C:\Aplicacion\ejecu-v10\archivoxx.jar"  Aplicacion.Aplicacion'),SW_SHOWNORMAL);

Me da el siguiente error, ya que la cadena tiene uno 700 y pico caracteres:

String literals may have at most 255 elements

Para solucionarlo divido la cadena en varias cadenas añadiendo (' + ') y ya no me da el error, pero tampoco no me ejecuta el Java.

He probado tambien ponerselo a una cadena auxiliar de tipo String o AnsiString, pero tampoco funciona:

Código Delphi [-]
  Winexec(PChar(cadena),SW_SHOWNORMAL);

¿Alguna idea?¿debería usar el ShellExecute?

Saludos y gracias por adelantado.
Responder Con Cita
  #2  
Antiguo 22-07-2010
jgutti jgutti is offline
Miembro
 
Registrado: may 2003
Posts: 189
Poder: 22
jgutti Va por buen camino
thoronluin, para ejecutar java desde un bat utilizo ShellExecute el cuál permite ejecutar el bat con parametros
- Ejemplo:

ShellExecute(Form1.Handle, 'Open', 'c:\ejemplos\archivobat.bat',' -a "c:\ejemplos\archivoentrada .xml" -p "c:\ejemplos\plantillaarchivo.xml" -c "c:\ejemplos\certificado.p12" -s passw -o "c:\ejemplos\archivosalida.xml"',SW_MAXIMIZE );

saludos
jgutti
Responder Con Cita
  #3  
Antiguo 22-07-2010
Thoronluin Thoronluin is offline
Miembro
 
Registrado: feb 2009
Posts: 39
Poder: 0
Thoronluin Va por buen camino
Antes que nada muchas gracias jgutti.

Mi intención es eliminar el bat y ejecutar el java directamente pero voy a intentarlo mañana desde que pueda (si me dejan ) con el ShellExecute.

¿Sabes si existe límite de caracteres en la string de parámetros? Había leído que tanto en uno como en otro estaba limitada la string del archivo ejecutable y la de los parámetros pero en el texto que leí no lo ví claro.

Saludos y gracias de nuevo, te comentaré el resultado lo antes posible.
Responder Con Cita
  #4  
Antiguo 25-07-2010
Thoronluin Thoronluin is offline
Miembro
 
Registrado: feb 2009
Posts: 39
Poder: 0
Thoronluin Va por buen camino
Hola jgutti:

He seguido tu consejo de usar el ShellExecute y después de varias pruebas y resolver varios problemas, al final funcionó.

Pongo la solución por si a alguien le interesa:

Código Delphi [-]
parametros:='-classpath "C:\Aplicacion\ejecu-v10\Interfaz.jar;C:\Aplicacion\ejecu-v10\archivo1.jar;' + ' ... C:\Aplicacion\ejecu-v10\archivoxx.jar"  Aplicacion.Aplicacion'

ShellExecute(0,'open','javaw', pchar(parametros),'C:\Aplicacion\ejecu-v10\',SW_SHOWNORMAL)
  1. Eliminé el "start" que aparecía en el bat.
  2. La cadena de parámetros como era muy larga para una constante (700 caracteres) la trocee en varias que uní, por esos el uso del más.

Gracias y saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ejecutar jsp desde codigo java joel20 JAVA 0 11-07-2006 10:56:36
Ejecutar un Archivo de Java (.jar) maravert JAVA 2 12-10-2004 17:31:07
Ejecutar una sentencia desde java samuvk JAVA 1 27-05-2004 13:43:28
WinExec karlita_cb Varios 3 18-05-2004 20:52:21
Ejecutar algo despues de WinExec u otro Tonio Varios 1 03-09-2003 15:46:23


La franja horaria es GMT +2. Ahora son las 00:43:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi