Alguna vez leí que los hilos deberían ser usados para cualquier proceso que tarde mucho o mas de lo normal, tampoco hay que abusar!
El caso es que los hilos, nos ayudan a tener separado lo que se esta ejecutando y lo que estamos viendo así no tenemos que esperar a que nuestro programa responda para ver los resultados, o simplemente mover la ventana!
Para los que hemos desarrollado aplicaciones Windows con el .net framework 1 que trabajaban con Hilos nos toco hacer muchas maravillas, y trucos muchas veces sucios además de definir un sinfín de delegados y suscriptores a eventos!
Y para eso hay dos maneras
- Crear un método que ejecutara lo que necesitábamos
- Crear un delegado para nuestro método
- Luego crear una instancia del delegado y pasarlo al método Invoke del Formulario o cualquier otro control
- Llamar al método Invoke con un método anónimo usando la clase MethodInvoker y listo!
¿Pero que pasa cuando queremos usar el MethodInvoker con el compact framework?
Googleando un poco me encontré con mi amiga
Y como vemos dice muy claro en la especificación de las plataformas! Que funciona para el NetCf,
Y eh aquí la razón de Este Post
Para poder usar el MethodInvoker Asi como lo usamos en el Framework para desktop solo necesitamos hacer una cosa!
Reescribir la declaración del MethodInvoker
private delegate void MethodInvoker();//Re-Declaracion!
Invoke((MethodInvoker)delegate { this.Visible = true; }};
Sencillo no, no entiendo porque escribí tanto antes de Votar el Codigo!
http://msdn2.microsoft.com/es-es/library/system.windows.forms.methodinvoker(VS.80).aspx
http://msdn2.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx
http://www.eggheadcafe.com/software/aspnet/29408147/trying-to-use-anonymous-m.aspx
Que
2 comentarios:
Hola!
La verdad es que no sé cómo empezar... Ante todo debo agradecerte inconmensurablemente este artículo, ya que con él he visto la luz!! Llevo más de una semana leyendo y leyendo y leyendo webs y blogs buscando esta solución para mi aplicación (que no es simple que digamos)... y aquí, un Viernes 5 de septiembre a las 22:48 de la noche te he encontrado y con tu simple ejemplo y tu simple y clara explicación he podido ver la luz... Vamos, que sepas que hasta me puse a llorar!! jajaja!
Muchas, muchas, muchas gracias, de verdad.
Daniel
Hola Steven,
Me parece interesante el articulo, de hecho yo tengo un problema similar pero en VB, te importaria poner el ejemplo en VB para que pueda probarlo. Muchas gracias
Francesc
Publicar un comentario