Problema con hilo y 2005

04/02/2007 - 05:54 por ROBD | Informe spam
Hola amirgos Tengo una aplicacion en 2003 que me funciona al 100% pero en
la empresa me la mandan a pasar a 2005, al hacer esto lo shilos que hacen
referencia a algun control me da el siguiente error

Cross-thread operation not valid: Control '' accessed from a thread other
than the thread it was created on.

Alguien sabe como puedo acomodarlo???

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
04/02/2007 - 08:33 | Informe spam
"ROBD" wrote in message
news:%23DsV$
Hola amirgos Tengo una aplicacion en 2003 que me funciona al 100% pero
en la empresa me la mandan a pasar a 2005, al hacer esto lo shilos que
hacen referencia a algun control me da el siguiente error

Cross-thread operation not valid: Control '' accessed from a thread other
than the thread it was created on.



Aunque te parezca que en 2003 te funciona al 100%, en realidad solo
funcionaba al 99% y podía dar fallos intermitentes, por eso en el 2005 han
hecho que se detecte esta situación y dé un error.

El tema es que los controles de los formularios windows no están
preparados para funcionar en multihilo, y no tienen metidos bloqueos para
sincronizar el acceso. La consecuencia es que pueden dejar la pantalla
"revuelta" si tienes la mala serte de que un segundo hilo toque algo
precisamente en el mismo momento en que lo está tocando otro hilo. Por eso
no se deben manipular desde otro hilo, solamente desde el hilo principal que
es el que crea la pantalla.

Para solucionarlo, se llama desde el segundo hilo al método Invoke del
formulario, o de cualquiera de sus controles, que es un método que sí que
está preparado para funcionar en miultihilo, y que lo que hace es
"transportar" la ejecución de otro hilo al hilo principal, invocando dentro
de este hilo principal al método que le pases como argumento.

http://msdn2.microsoft.com/en-us/li...etckb.aspx

Ten presente que esto no es solo para la versión 2005, también en la
versión 2003 también deberías hacer asi las llamadas a los controles desde
los hilos, de lo contrario corres el riesgo de que tu programa presente
fallos intermitentes muy difíciles de reproducir y depurar.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida