none
no se como resolver este codigo RRS feed

  • Pregunta

  • Tengo un problema con mi codigo, es un juego de damas inglesas. Solo tiene un detalle que necesito que me ayuden a corregir.

           
    public void seleccion(object objeto)
            {
            if (!movExtra)
                {
              try { seleccionado.BackColor = Color.Black;  }
                    catch { }
                  PictureBox ficha = (PictureBox)objeto; 
                   seleccionado.BackColor = Color.Lime;      
                   }
    
            }

    al darle play me aparece como referencia no establecida como insancia de un  objeto. La verdad soy un novato en esto y seria de mucha ayuda que me puedan corregir este error

    martes, 31 de marzo de 2020 4:43

Todas las respuestas

  • "Referencia no establecida como instancia de un  objeto" indica que uno de los objetos que estás manejando en tu código es null, que significa que no tiene contenido, pero sin embargo estás intentando acceder al contenido y por eso ocurre un error.

    Por ejemplo, si fuera null la variable seleccionado (que en el código que has mostrado no se ve dónde está declarada ni dónde está inicializada), pues entonces en el momento de llamar a seleccionado.BackColor daría un error porque no se puede extraer BackColor desde un null.

    Para solucionar el problema, lo primero tienes que usar el debugger para localizar el punto exacto en que ocurre el error (no es suficiente con decir que está dentro de un bloque de líneas), y eso te dirá cuál es la variable que vale null. Entonces tienes que revisar todo el circuíto que sigue to código hasta llegar al punto del error, y ver por qué dentro de ese circuito no has inicializado la variable antes de llegar al punto en el que tratas de examinar su contenido. Entonces rectificas el error, metiéndole a la variable el valor que le corresponda antes de tratar de usar ese valor. O introduciendo un "if" para no usarlo si vale null.

    martes, 31 de marzo de 2020 8:40
    Moderador