Error al actualizar data grid. URGENTE!!

19/03/2006 - 19:50 por ana | Informe spam
Hola.

Esta es la segunda vez que expongo mi problema. Voy a resumirlo un poco
para ver si alguien me puede ayudar. La verdad es que he buscado información
y he lanzado mi pregunta en muchos foros pero por lo visto nadie se ha
encontrado con este problema o no sabe como resolverlo.

Tengo una ventana con un data grid. Cuando se abre la ventana se abre
también el puerto serie y cuando se lee algo de una pistola LCB conectada por
puerto serie se lanza un evento definido en otra clase y que llama a una
función de la propia clase de la ventana. En esa función llamo a otra para
refrescar el datagrid y es cuando hago el SetDataBinding del dataset con el
datagrid cuando me da el error de:

- System.ArgumentException - Controls created on a thread cannot be parented
to another thread

Qué es lo que ocurre? Se pierde el enlace o qué? Si lo hago metiendo los
datos por teclado sin utilizar evento no tengo ningún problema.
¿Alguién puede ayudarme? ¿Alguien conoce la solución?
Por favor, que alguien me conteste aunque sea para decirme que no tiene ni
idea de lo que le estoy hablando.

Muchas gracias,
Ana
 

Leer las respuestas

#1 Octavio Hernandez
19/03/2006 - 20:20 | Informe spam
Hola, Ana!

Parece que el problema viene por intentar refrescar la rejilla desde otro
hilo de ejecución distinto del que atiende a la interfaz de usuario - y eso,
por la arquitectura de Windows Forms, no se puede hacer directamente, sino
indirectamente a través del método Invoke() de los controles.

No sé si el hilo lo creas expresamente tú o alguna llamada a las funciones
de puerto serie, pero parece claro que está ahí.

Lee este artículo que te puede ayudar:

http://support.microsoft.com/kb/318607/en-us

Slds - Octavio



"ana" escribió en el mensaje
news:
Hola.

Esta es la segunda vez que expongo mi problema. Voy a resumirlo un poco
para ver si alguien me puede ayudar. La verdad es que he buscado
información
y he lanzado mi pregunta en muchos foros pero por lo visto nadie se ha
encontrado con este problema o no sabe como resolverlo.

Tengo una ventana con un data grid. Cuando se abre la ventana se abre
también el puerto serie y cuando se lee algo de una pistola LCB conectada
por
puerto serie se lanza un evento definido en otra clase y que llama a una
función de la propia clase de la ventana. En esa función llamo a otra
para
refrescar el datagrid y es cuando hago el SetDataBinding del dataset con
el
datagrid cuando me da el error de:

- System.ArgumentException - Controls created on a thread cannot be
parented
to another thread

Qué es lo que ocurre? Se pierde el enlace o qué? Si lo hago metiendo los
datos por teclado sin utilizar evento no tengo ningún problema.
¿Alguién puede ayudarme? ¿Alguien conoce la solución?
Por favor, que alguien me conteste aunque sea para decirme que no tiene ni
idea de lo que le estoy hablando.

Muchas gracias,
Ana

Preguntas similares