none
Me da este error de crear formulario RRS feed

  • Pregunta

  • Buenas como puedoa saber si esta terminado de cargar el formulario

    Gracias

    Private Sub TBbrixActual_TextChanged(sender As Object, e As EventArgs) Handles TBbrixActual.TextChanged
            'Try
            If TBbrixActual.Text = "" Then
                Dim Ba As Decimal = 0
                TBActualBrix.Text = Ba
                Call Brixfermentacion()
            Else
                Dim Ba As Decimal = TBbrixActual.Text
                TBActualBrix.Text = Ba
                Call Brixfermentacion()
                If DGVMediciones.Rows.Count = Nothing Then
                    MsgBox("no Tiene Datos")
                Else
                    MsgBox("Tiene Datos")
                    DGVMediciones.CurrentRow.Cells(1).Value = LB_SG_FInal.Text
                End If
    
                TBGravedadActual.Text = LB_SG_FInal.Text
            End If
            'Catch ex As Exception
            '    MsgBox(ex.ToString())
            'End Try
        End Sub

    viernes, 28 de julio de 2017 15:41

Respuestas

  • La excepción que se produce es de tipo NullReferenceException, entiendo que ya imaginas la razón. Te recomiendo cambiar la validación a lo siguiente:

    Call Brixfermentacion()
    
    Dim Fila = DGVMediciones.CurrentRow
    
    If Fila IsNot Nothing Then
    	MsgBox("Tiene Datos")
    	Fila.Cells(1).Value = LB_SG_FInal.Text
    Else
    	MsgBox("Debe seleccionar una fila")
    End If
    
    TBGravedadActual.Text = LB_SG_FInal.Text


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Propuesto como respuesta Jorge TurradoMVP sábado, 29 de julio de 2017 10:43
    • Marcado como respuesta JETET sábado, 29 de julio de 2017 14:27
    sábado, 29 de julio de 2017 3:57

Todas las respuestas

  • Buenas, 

    El tema es que intentas utilizar un objeto que no está inicializar,  la excepción indica que el problema está en la línea 542 de mediciones.vb. Podrías indicarnos cual es? 

    Atte


    No olvides votar si mi comentario te ha ayudado y marcarlo como respuesta si ha sido la solución!

    viernes, 28 de julio de 2017 15:45
  • Gracias por responde

     DGVMediciones.CurrentRow.Cells(1).Value = LB_SG_FInal.Text

    viernes, 28 de julio de 2017 15:52
  • Bueno,  pues entonces tendrás que poner un breakpoint en esa línea,  pero tiene pinta que el current row es null.  Tienes alguna row seleccionada al momento de cambiar el textbox?

    Atte


    No olvides votar si mi comentario te ha ayudado y marcarlo como respuesta si ha sido la solución!


    viernes, 28 de julio de 2017 16:10
  • Hola:

     Concurro con lo que te comenta Jorge turrado, el problema es que tratas de trabajar con un objeto que no esta inicializado.

     Viendo la linea que comentas me aventuro a suponer que el control DataGridView no contiene datos, mencionas que ocurre al querer abrir el formulario, entonces supongo que ese código lo tienes en el evento Load() del mismo, el cual trata de tomar el CurrentRow() del control DataGridView que estoy seguro esta vació de ahí es que obtienes el error.

     En el evento Load() por un punto de interrupción en la primer linea que tengas, y al momento de cargar veras que se detiene en esa linea de código, ve siguiendo la ejecución linea a linea por medio de la tecla F11 hasta que llegues a la linea que provoca la excepción, ahi veras con mas claridad el origen del problema, también puedes encerrar el contenido del evento Load() dentro de un bloque Try Catch y analizar la excepción generada.

     Has esas pruebas y comentas tus resultados.


    Saludos desde Monterrey, Nuevo León, México!!!

    • Propuesto como respuesta Pedro Ávila sábado, 29 de julio de 2017 4:10
    • Votado como útil Pedro Ávila sábado, 29 de julio de 2017 4:11
    viernes, 28 de julio de 2017 16:59
  • Sepuedo Hacer que compare si el formulario esta abierto antes de continuar?

    viernes, 28 de julio de 2017 17:42
  • El problema esta en TBbrixActual_TextChanged  cuando pongo esto

     DGVMediciones.CurrentRow.Cells(1).Value = 12 'LB_SG_FInal.Text()

    si este mismo codigo lo pongo en el load del formulario no da error

    viernes, 28 de julio de 2017 17:49
  • A mi enteder el problema radica que en el Load de tu proyecto o form cargas en el TbrixActual.Text algun valor y esto dispara el evento Changed, si esto es necesairo debes verificar que todos los elementos implicados en tal evento esten dispoinibles a la hora de cargar el TbrixActual como así también la función o modulo que invocas en Brixfermentación() eje. Si fuera el caso de que DGVMeidiciones.CurrentRow no tuviera rows y los cargas mediate código,  al momento del Changet nunca encontrara  Cells(1)

    Saludos

    sábado, 29 de julio de 2017 3:16
  • La excepción que se produce es de tipo NullReferenceException, entiendo que ya imaginas la razón. Te recomiendo cambiar la validación a lo siguiente:

    Call Brixfermentacion()
    
    Dim Fila = DGVMediciones.CurrentRow
    
    If Fila IsNot Nothing Then
    	MsgBox("Tiene Datos")
    	Fila.Cells(1).Value = LB_SG_FInal.Text
    Else
    	MsgBox("Debe seleccionar una fila")
    End If
    
    TBGravedadActual.Text = LB_SG_FInal.Text


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Propuesto como respuesta Jorge TurradoMVP sábado, 29 de julio de 2017 10:43
    • Marcado como respuesta JETET sábado, 29 de julio de 2017 14:27
    sábado, 29 de julio de 2017 3:57
  • Gracia por la ayuda de todos 

    con 

    If Fila IsNot Nothing Then

    si que si

    sábado, 29 de julio de 2017 14:27