viernes, 22 de octubre de 2010

Implementation de hilos en c# (Solución al llamado de objetos de otro hilo)

Hace algunos dias, me encontre con la necesidad de implementar hilos en mi aplicación, pero cual fue mi sorpresa, cuando del hilo secundario que cree dentro de mi hilo primario, hacia referencia a objetos que se habian creado en otro hilo, se disparaba un Except, esto por validaciones que se toman en cuenta para garantizar la fluides del codigo (Algo que honestamente me puso molesto, puesto que si de antemano sabes que el codigo esta correcto, entonces esto esta de mas), Encontre una solucion este problema, en Visual Studio 2005 en adelante.

La excepción que se presenta es la siguiente: "Cross-thread operation not valid: control '' accessed from a thread other than the thread it was created on".

Para evitar esto solo es necesario agregar la siguiente linea de codigo antes de la creacion de los hilos:

CheckForIllegalCrossThreadCalls = False;

O si se prefiere en el evento load del formulario.

Nota importante y aclaratoria: Esta solución solo esta disponible para llamadas de hilos que se encuentran en una sola clase, en caso de que se tenga que llamara a hilos desde otras clases, es necesario que se implementen mensajes entre hilos.

Espero y que esta información sea de ayuda.

Di@blo K@rR

No hay comentarios:

Publicar un comentario