Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/02/2007, 10:31
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Gurús (Ayuda prog. asincrónica C# 2.0)

Buenas tardes gente...

Estoy intentando cargar un ListBox mediante programación asíncrona (Se que puedo hacerlo através de una Thread) y me va todo de lujo, pero cuando acabo justo de cargar el ListBox, me sale el siguiente error:

"Referencia a objeto no establecida como instancia de un objeto."

Aun que ahora no aparezcan, he probado a poner Try en cada parte del código en (button2_Click, LlenarElementosLista y en ResultadoOperacion) y en ninguna de ellas ha entrado en la excepción.

Este es el código:
Código:
        public delegate void LlenarLista();
        LlenarLista delegado;
        private void button2_Click(object sender, EventArgs e)
        {
            delegado = new LlenarLista(LlenarElementosLista);
            IAsyncResult iaResultado = delegado.BeginInvoke(new AsyncCallback(ResultadoOperacion), null);
        }

        [OneWay]
        private void LlenarElementosLista()
        {
            lsLista.Items.Clear();
            for (Int64 i = 0; i < 3; i++){
                if (i == 99999)
                    lsLista.Items.Add("Elemento " + i.ToString());
                else
                    lsLista.Items.Add("Elemento " + i.ToString());
            }
        }

        private void ResultadoOperacion(IAsyncResult ar)
        {
            delegado.EndInvoke(ar);
        }
También decirles que en el Inicio del formulario tengo puesta la etiqueta CheckForIllegalCrossThreadCalls = false; ya que sino, me fallaría nada más empezar el método. Pero... no entiendo y no sé por que me está fallando al finalizar, por favor, si alguien tiene experiencia en temas de Asincronía le agradecería enormemente que me saque de este bache.
__________________
Charlie.