Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
A Vuelta Con El Control De Procesos
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje A Vuelta Con El Control De Procesos 
 
Creo que, efectivamente, el calor me ha derretido la sesera y estoy más ciego que un gato de yeso.
He leído con detalle lo que he podido sobre el control de procesos y no hay manera de conseguir desviar la salida estándar...
Aquí tenéis un extracto de código de El Generador de Copias de Seguridad de MySQL que acabo de subir a este foro.
PRIVATE Proc AS Process

PRIVATE SUB Process_Read() 'este evento ocurre cuando el comando genera una salida, se supone
  DIM cad AS String
  LINE INPUT #Proc, cad
  texto.text = cad & "\n" & texto.Text
END

PRIVATE SUB Process_Error(cad AS String) 'este evento ocurre cuando el comando genera un error, se supone
  texto.text = cad & "\n" & texto.Text
END

PUBLIC PROCEDURE restaurar(Camino AS String, Copia AS String, OPTIONAL texto AS Object)
 
  DIM anums AS NEW Integer[]
  DIM anums2 AS NEW Integer[]
  DIM n AS Integer
  DIM pasadas AS Integer
  DIM carpeta AS String
  DIM elpath, scad AS String
  
  comun.Colate = If(comun.Colate, comun.Colate, " /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish_ci */")

  Copia = Camino &/ Copia
  carpeta = Left(Copia, RInStr(copia, ".") - 1)
  TRY MKDIR carpeta
  texto.Text = ("Procesando copia \n")
  WAIT 0.1
  conDestino.conectar
  texto.Text = ("Descomprimiendo copia \n") & texto.text
  WAIT 0.1
  elpath = Mid(Copia, 2, RInStr(Copia, "/") - 1)
  IF Right(camino, 1) <> "/" THEN camino &= "/"
'  SHELL "pax -rzvf " & Copia & " -s," & elpath & "," & camino & "," WAIT   'Esto funciona, y deja un rastro en la consola de gambas
  Proc = SHELL "pax -rzvf " & Copia & " -s," & elpath & "," & camino & "," FOR READ  'Esto también funciona, pero no deja rastro en ningún sitio...
  WHILE Proc.State = process.Running
     WAIT 0.1    'Esto es un intento de ver en tiempo de ejecución que pasa... pero no veo na, claro
  WEND

  ...
  ...
  ...

END
 

¿Alguien puede orientarme de por qué la llamada a SHELL (o EXEC, que las dos cosas he probado) no levanta el evento Process_Read?
 




===================
No podemos regresar
 
última edición por shordi el Viernes, 30 Julio 2010, 13:20; editado 1 vez 
Editado por Invitado, Jueves, 01 Enero 1970, 01:00:
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Vuelta Con El Control De Procesos 
 
Quizás debas utilizar el nombre de instancia para el manejador de los eventos de ese proceso:

DIM proc as Process

PUBLIC SUB proc_Read()
    '...
END


No estoy muy seguro porque no lo he probado, pero lo que sí es seguro es que el manejador debe declararse como Público para funcione.


Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: A Vuelta Con El Control De Procesos 
 
Lo probaré Jesús. Gracias.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Control De Procesos Y Warnings shordi General 0 Martes, 01 Febrero 2011, 22:17 Ver último mensaje
shordi
No hay nuevos mensajes Sobre El Control De Procesos Lanzados Con ... shordi General 4 Martes, 27 Julio 2010, 17:39 Ver último mensaje
jguardon
No hay nuevos mensajes Lazos De Control De Procesos E Interfaz Gr... francopenizzotto General 4 Miercoles, 03 Marzo 2010, 15:45 Ver último mensaje
francopenizzotto
No hay nuevos mensajes Ejemplo Con Procesos Shell General 6 Martes, 03 May 2016, 20:45 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario