Buenas, estamos aprendiendo a usar arrays en Visual Studio y me da un error de NullReferenceException.
He buscado por Internet y demás, pero no consigo arreglar el error, que está en el array que primero declaro en la estructura libro y luego redimensiono en el Form_Load.
La cuestión es que la primera vez que uso la estructura (cuando grabo un libro con todos sus datos), parece que todo va bien... pero a la segunda es cuando casca la excepción.
A ver si me podéis ayudar:
Código del módulo:
Código vb:
Ver originalModule Module1
Public Structure libro
Public titulo As String
Public autor As String
Public tema As String
Public paginas As Integer
Public formato() As Boolean 'este es el array que da excepción'
Public novedad As Boolean
Public reed As Boolean
End Structure
Public array(6) As libro
Public pos As Integer
Public iterator As Integer
End Module
Código del Form_Load:
Código vb:
Ver originalPrivate Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
pos = 0
RadioButton1.Checked = False
RadioButton2.Checked = False
Dim k As Integer
For k = 0 To k = 6 Step 1
ReDim array(k).formato(1)
Next
For k = 0 To k = 6
array(k).formato(0) = False 'esto lo hice por si el error fuera que no inicializo los elementos del array, pero no es eso'
array(k).formato(1) = False
Next
End Sub
Código del botón que guarda los datos:
Código vb:
Ver originalPrivate Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
array(pos).titulo = TextBox1.Text
array(pos).autor = TextBox2.Text
array(pos).tema = ComboBox1.SelectedItem
array(pos).paginas = TextBox4.Text
'codigo para si está checkeado o no el checkbox1, se guarde valor true o false en el primer elemento del array'
'es en esta parte del código donde arroja la excepción, pero no sé por qué'
If (CheckBox1.Checked = False) Then
array(pos).formato(0) = False
ElseIf ((CheckBox1.Checked = True)) Then
array(pos).formato(0) = True
End If
'codigo para si está checkeado o no el checkbox2, se guarde valor true o false en el segundo elemento del array'
If (CheckBox2.Checked = False) Then
array(pos).formato(1) = False
ElseIf ((CheckBox2.Checked = True)) Then
array(pos).formato(1) = True
End If
array(pos).novedad = RadioButton1.Checked
array(pos).reed = RadioButton2.Checked
pos = pos + 1
End Sub
Muchas gracias.