• Viernes 1 de Noviembre de 2024, 17:23

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - isa_isa

Páginas: [1]
1
C# / Re: Problemas Con El Backgroundworker
« en: Miércoles 30 de Mayo de 2007, 12:11 »
A ver, aqui os pongo codiguete :P

he probado de muchas formas, he creado un componente para cada función
 
Código: Text
  1.  
  2. backgroundWorker.RunWorkerAsync(algoritmo.CORRELACION);
  3.  
  4.  
donde backgroundworker es distinto para cada algoritmo
con esta opción también probé a cambiar las funciones a las que llama para que fueran exclusivas para cada backgroundworker pero casca igual..


luego también los he creado en el momento en q se llama a la función así:

Código: Text
  1.  
  2. BackgroundWorker w = new BackgroundWorker();
  3.             w.WorkerReportsProgress = true;
  4.             w.WorkerSupportsCancellation = true;
  5.             w.DoWork += new System.ComponentModel.DoWorkEventHandler(this.segundoPlanobackgroundWorker1_DoWork);
  6.             w.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.segundoPlanobackgroundWorker1_RunWorkerCompleted);
  7.             w.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.segundoPlanobackgroundWorker1_ProgressChanged);
  8.  
  9.             w.RunWorkerAsync(algoritmo.RANGO);
  10.  
  11.  
y también casca... he probado a poner una función en cada backgroundworker runWorkerCompleted distinta, por si era eso y también casca...

me voy a volver loca! :P

a ver si con esto os sirve de más ayuda..
muchas gracias!
isa

2
C# / Problemas Con El Backgroundworker
« en: Jueves 24 de Mayo de 2007, 17:35 »
Hola.
He estado trabajando últimamente con este componente y me ha surgido un problemilla...
Si ejecuto el algoritmo que usa el BW una vez no pasa nada, todo funciona perfectamente pero luego, si lo vuelvo a ejecutar otra vez, a veces me da una excepción y otras veces funciona (?¿¿?¿??¿)
La excepción que me da es la siguiente:
"En esta operación ya se ha llamado a OperationCompleted y no se permiten más llamadas"

************* Texto de la excepción **************
System.InvalidOperationException: En esta operación ya se ha llamado a OperationCompleted y no se permiten más llamadas.
   en System.ComponentModel.BackgroundWorker.ReportProgress(Int32 percentProgress, Object userState)
   en System.ComponentModel.BackgroundWorker.ReportProgress(Int32 percentProgress)
   en Metria.Principal.segundoPlanobackgroundWorker1_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e) en C:\Documents and Settings\Isabel\Escritorio\Projects\Metria\Metria\PrincipalForm.cs:línea 2619
   en System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
   en System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)
.......................................

¿Por qué a veces funciona y otras veces no?
¿Cómo lo puedo solucionar?
¿Qué es que sólo lo puedo ejecutar una vez?



Muchísimas gracias.
Saluducos
Isa

Páginas: [1]