Problemas con ShellExecute y Java.
Hola. Vuelvo a haceros una pregunta sobre un problema al que no le encuentro solución, a ver si alguno tiene una brillante idea.
Resulta que mi programa debe acabar lanzando un comando en Java. Dicho comando lo llamarenos "jreNotes.cmd". Digamos también, que "jreNotes.cmd" es similar a otro comando probado y requeteprobado, que es "jreCoher.cmd". si yo ejecuto : todo va como la seda. Sin embargo, si ejecuto No funciona nunca. en particular me da el error : Cita:
La cuestión sería: alguien sabe por qué ShellExecute me da un resultado diferente que la ejecucion desde la linea de comandos de Windows? Tambien lo he probado con winexec. Gracias, muchachos |
Problema resuelto
Hola. Al final, resultó ser mucho más sencillo de lo esperado.
La cuestión básica es que Java es un lenguaje interpretado. Eso significa que no sale un ejecutable del proceso de programación (no se compila). Para eso es necesario tener la maquina virtual java (JVM), que en cada plataforma, interpreta y compila y saca el ejecutable. Pues era en ese paso, que Java (y no delphi) fallaba. La ejecucion de una instruccion java como jreNotes.cmd necesita del path de TODAS las librerias para que la maquina virtual java sea capaz de, en runtime, encontrarlas y compilarlas. Una vez puesto el path de ejecución, ha sido coser y cantar. Gracias por leerme, al menos :D Corolario: Nunca podrá haber en Java, librerías sin su path bien especificado y bien localizado, para evitarse problemas en runtime. |
Es cierto lo q dices, ademas si no quieres agregar la ruta actual al classpath puedes hacer esto:
ShellExecute(0,'open' , PChar( 'java') , PChar(' -cp . jreCoher.cmd' + parametros),'', SW_SHOWNORMAL); siendo jreCoher un package, si es un jar seria java -jar -cp . jreCoher.cmd. En ambos casos deberia estar en la misma ruta del exe q lo llama |
La franja horaria es GMT +2. Ahora son las 12:31:38. |
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