Problema al Acutalizar Progreso BackGroundWorker
Publicado por MilPruebas (1 intervención) el 29/06/2009 20:28:29
Buenas, tengo un problemilla que a ver si me podéis echar una mano porque ya no sé que hacer.
Situación:
Uso de Un BackGroundWorker y varios hilos de ejecución.
Objetivo:
Informar al Objeto BackGroundWorker del Progreso haciendo el trabajo otro hilo distinto al generado por éste.
Caso y problema:
Dado que no quiero que la consola se quede colgada y además quiero hacer una copia de varios ficheros de considerable tamaño aprovechando la multitarea, lo que he hecho ha sido crearme un backgroundWorker y, cuando éste comienza el trabajo (en el disparo del evento del doWork) lanzo varios hilos de ejecución los cuales hacen un copiado de ficheros en un servidor X. Mi problema es que no puedo informar del progreso al objeto de background ya que lo estoy haciendo en un hilo distinto y no puedo usar la "solución puente" que siempre se ha hecho de llamar al invoke usando delegados ya que dicho control (el BackGroundWorker) no tiene método invoke. ¿se os ocurre algo? ¿Si no hubiera otros hilos de por medio no habría problema en el informe del progress para llenar una progressBar por ejemplo, pero aquí no se me ocurre ninguna solución.
A ver si me podéis echar una mano y si no entendéis algo, por favor decídmelo.
Muchas Gracias
Situación:
Uso de Un BackGroundWorker y varios hilos de ejecución.
Objetivo:
Informar al Objeto BackGroundWorker del Progreso haciendo el trabajo otro hilo distinto al generado por éste.
Caso y problema:
Dado que no quiero que la consola se quede colgada y además quiero hacer una copia de varios ficheros de considerable tamaño aprovechando la multitarea, lo que he hecho ha sido crearme un backgroundWorker y, cuando éste comienza el trabajo (en el disparo del evento del doWork) lanzo varios hilos de ejecución los cuales hacen un copiado de ficheros en un servidor X. Mi problema es que no puedo informar del progreso al objeto de background ya que lo estoy haciendo en un hilo distinto y no puedo usar la "solución puente" que siempre se ha hecho de llamar al invoke usando delegados ya que dicho control (el BackGroundWorker) no tiene método invoke. ¿se os ocurre algo? ¿Si no hubiera otros hilos de por medio no habría problema en el informe del progress para llenar una progressBar por ejemplo, pero aquí no se me ocurre ninguna solución.
A ver si me podéis echar una mano y si no entendéis algo, por favor decídmelo.
Muchas Gracias
Valora esta pregunta


0