Threas, delegate y Form

26/05/2004 - 11:28 por david | Informe spam
Hola a todos.

Tengo una clase para gestionar socket utilizando delegate y que se ejecuta
en un threads propio,
el problema esta que defino un método en la clase que contiene el formulario
y es donde voy
recibiendo las llamadas con un parámetro, por ejemplo byte [] recibido, y lo
voy procesando, imprimiendo en textBox, etc.

Al probar la aplicación en una plataforma WinCE cuando intento escribir en
un textBox la aplicación se bloquea.

Buscando información en internet he encontrado referencias especificando que
no se puede llamar desde un hilo mediante
delegate a un método de un formulario que se actualice, a no ser que se
utilice Invoke, el problema esta que los ejemplos que
he visto del uso de invoke no están soportados en WinCe.

A alguien se le ocurre una manera de solucionar este problema. Gracias.
 

Leer las respuestas

#1 Rodrigo Meneses
26/05/2004 - 15:20 | Informe spam
Saludos,
Se me ocurre que quizás depende del Apartment Thread Model de los windows
forms.
Intenta con [STAThread] y [MTAThread]
Indícame por favor si esto resulve tu problema. También podrías considerar
utilizar
la clase System.Threading.ThreadPool.
Es todo por ahora,
-Rodrigo Meneses
Arquitecto de Software
www.vedantek.com

"david" <[No Spam] wrote in message
news:0rZsc.586937$
Hola a todos.

Tengo una clase para gestionar socket utilizando delegate y que se ejecuta
en un threads propio,
el problema esta que defino un método en la clase que contiene el


formulario
y es donde voy
recibiendo las llamadas con un parámetro, por ejemplo byte [] recibido, y


lo
voy procesando, imprimiendo en textBox, etc.

Al probar la aplicación en una plataforma WinCE cuando intento escribir en
un textBox la aplicación se bloquea.

Buscando información en internet he encontrado referencias especificando


que
no se puede llamar desde un hilo mediante
delegate a un método de un formulario que se actualice, a no ser que se
utilice Invoke, el problema esta que los ejemplos que
he visto del uso de invoke no están soportados en WinCe.

A alguien se le ocurre una manera de solucionar este problema. Gracias.






Preguntas similares