Ver Mensaje Individual
  #9 (permalink)  
Antiguo 08/08/2002, 02:58
sdnsdlm
 
Fecha de Ingreso: abril-2002
Mensajes: 438
Antigüedad: 22 años, 1 mes
Puntos: 2
Re: Como llamar otros archivos desde VB 6.0

AAgarcia,

Y una pregunta más que me lleva de cabeza, te cuento: ejecuto desde vb con ShellExecute un .bat que llama a un .exe, este .exe abre una ventana de msdos y se queda residente. Encontré una clase buenísima en una lista de VB que sirve para gestionar procesos en MSDOS desde VB (la he guardado como oro en paño), pero en ella al igual que tú mencionas se usan las apis waitforsingleobject y waitforinputidle, el caso es que no me sirven ninguna de las dos, te cuento: he instalado el programa en muchas TPV's, en algunas de ellas la aplicación funciona correctamente, pero en otras (no sé el motivo) me muestra el mensaje "No se puede abrir el ....". El archivo que ejecuto es el servletrunner, es decir, es como si la siguiente instrucción de VB que sigue a la del ShellExecute del servletrunner se ejecutara sin que este programa hubiera terminado de arrancar, ojo, no puedo esperar a que acabe porque se queda luego residente, no es como abrir Word y detener la ejecución hasta que el usuario acabe con Word, no, no, simplemente tengo que esperar a que termine de ejecutarse, es decir, volviendo a Word (esperar el proceso desde que hace click hasta que aparece la ventana de Word). Yo pensaba que VB esperaba siempre a esto con ShellExecute, pero como he dicho se ha instalado el programa en muchas TPV's y en algunas de ellas (pocas por suerte), aparece el mensaje de error, el usuario entonces espera unos segundos a que el programa se ejecute y entonces ya cuando hacen click en un commandButton del form sí que llama correctamente al servlet. Curioso ¿no? No encuentro la explicación. Si alguien la encuentra bienvenida será. Solución le he encontrado tirando por otro camino, explicación NO.