Ejecución de programas externos

Tengo un pequeño problema. Yo necesito realizar FTP entre una PC y un servidor Unix. Ahorita lo hago por medio de un script de D.O.S. Llamándolo con el comando RUN(). Este comando me permite verificar si el script de DOS se pudo iniciar, pero no me permite verificar si el script finalizó bien. Lo que necesito es alguna forma de que mi evento en PB se continué ejecutando hasta tanto el script de DOS no me informe que finalizó.
Ejemplo:
...
...
RUN("Prueba")
Messagebox("","Programa DOS OK")
...
...
El problema se da en que cuando se llama el RUN, el script manda el Messagebox si haber finalizado el proceso RUN.
Me puedes ayudar indicándome si existe algún API para hacerlo en vez del RUN, o por el contrario ver si conoces alguna librería que me permita realizar FTP con controles de verificación de transmisión OK.
1

1 respuesta

Respuesta
1
La forma que yo resolví ese problema cuando quise hacer algo similar con un proceso DOS fue la siguiente:
1) Antes de hacer el RUN creas un archivo y lo cerras (fileopen;filewrite;fileclose)
2) Haces el run y verificas si hubo error, su hubo salís
3) entrás en un loop while exite el archivo creado en el punto 1
4) En la última sentencia del proceso DOS borrás el archivo que creaste en el punto 1
Nota: en el loop deberías tener algún timer por si tu proceso se corta y no alcanza a borrar el archivo o bien algún otro tipo de validación similar.
Alguna vez intenté buscar un API que me resolviera esto pero no encontré y lo que describí anteriormente funcionó así que no seguí buscando. El tema es que hay que saber que el handle del proceso DOS y otra serie de cosas que complica el tema.
En cuando a APIs para hacer el FTP se que hay pero no las tengo presentes en este momento.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas