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 18-07-2006
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Como saber cuando un programa msdos llamado con shellexecute ha acabado

Pues mismamente lo que pongo en el asunto, necesito llamar a un programa desde mi aplicación y despues de que ese programa se ejecute, tengo que mirar el log que ha generado para en funcion de lo que ponga borrar o no una tabla

Código Delphi [-]
 if ShellExecute(FPal.Handle,nil,PChar(Programa),PChar(parametros),'',SW_SHOWNORMAL) <> ERROR_FILE_NOT_FOUND then
  //Examinar el fichero log y si no tiene errores Borrar tabla ControlCambiosP
  showmessage('Prueba')
 else
   showmessage('No se puede acceder al programa: '''+Programa+''' puede que la ruta sea incorrecta ');

tal y como lo tengo el showmessage prueba sale antes de que el proceso haya acabado con lo que si en esas lineas mirara el log del proceso que ejecuta el otro programa no existiría... es como si lanzara en proceso de fondo el shellexecute y siguiera con lo siguiente, vamos que lo hace asi seguro.... que solución me proponeis???

Gracias de antemano, Saludos, Tony
Responder Con Cita
  #2  
Antiguo 18-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
En la sección de trucos encontraras varios que sirven para ejecutar un programa y esperar a que termine ( truco 30, truco 168, etc), pero permite adivinar tu situación y si estoy equivocado, lo mas seguro, ignoras lo siguiente. Tienes un programa de dos y estas redirigiendo su salida a un archivo para luego poder leerlo, si es esa la situación, te sugiero el truco 54, es una función que le pasas un programa o comando de dos, con todos sus parámetros, y te devuelve la salida en un string.
Responder Con Cita
  #3  
Antiguo 19-07-2006
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Al final el truco elegido ha sido ...... el 30 !!! el programita al que llamo es un bat que a su vez llama un programita java, y este realiza un proceso y genera un log y ese el es fichero que posteriormente tengo que leer, por eso el truco 54 no me sirve pero realmente es interesante

Muchas gracias Seoane por tu ayuda,
Saludos, Tony
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
Como saber cuando BD fue desconectada? Luis Alberto Conexión con bases de datos 2 24-01-2006 11:16:46
Como hacer ShellExecute a mi programa?? JuanErasmo C++ Builder 3 23-12-2005 14:47:05
Programa bajo msdos marandge Windows 2 13-09-2005 13:30:30
como saber cuando se abre una pagina de internet especifica gulder API de Windows 9 12-09-2005 15:37:33
Como Saber cuando Reinician la PC???? AGAG4 Varios 2 15-05-2005 08:07:31


La franja horaria es GMT +2. Ahora son las 05:12:44.


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