Acceso A Controles De Hilos

Páginas: 3 (639 palabras) Publicado: 27 de octubre de 2012
ACCESO A CONTROLES DESDE HILOS
Los controles de los formularios Windows solo pueden ser accedidos en el hilo que los creo. Es decir, no son seguros para la ejecución de hilos, porque si tenemos doso mas hilos manipulando el estado de un control, es posible obligar al control a un estado inconsistente, pudiendo incluso provocar condiciones de carrera entre los hilos o interbloqueo, tambiénconocido como abrazo mortal. Por eso es importante que el acceso a los controles de los formularios Windows desde un hilo se haga de una forma segura.
Hay dos formas de acceder a las propiedades de uncontrol desde un hilo de forma segura:
1.- Utilizando delegados para habilitar llamadas asíncronas para cada propiedad de cada control que tenga que ser accedida de forma segura desde un hilo.
2.-Utilizando el componente BackgroundWorker.
Delegados
Un delegado es una clase que puede contener una referencia a un método. Los delegados tienen un prototipo y pueden guardar referencias únicamente alos métodos que coinciden con su prototipo.
(Es decir el hilo principal delega derechos al hilo secundario para poder cambiar propiedades a los objetos que él no creó)
1.- Por ejemplo, la líneasiguiente declara el delegado setenableddelegate :
Private Delegate Sub setenableddelegate(ByVal prvalue As Boolean)

2.- La siguiente línea crea un delegado de la clase setenableddelegate quealmacena una referencia al método setEnabled_btnCalcular :

Dim delegado As setenableddelegate = New setenableddelegate(AddressOf setEnabled_btnCalcular)

3.- En esta línea ejecuta el delegadoespecificado en el hilo

btnCalcular.Invoke(delegado, New Object() {x})

Imports System.Threading
Public Class Form1
'Declarando el delegado setvaluedelegate y setenableddelegate
PrivateDelegate Sub setvaluedelegate(ByVal prvalue As Integer)
Private Delegate Sub setenableddelegate(ByVal prvalue As Boolean)
'Hilo para ejecutar una tarea secundaria
Private hiloSecundario...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Control de Acceso
  • Control de accesos
  • Control De Acceso
  • Control De Acceso
  • Control De Accesos
  • Control De Acceso
  • Control De Acceso
  • El control de acceso

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS