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 original
Module 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 original
Private 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 original
Private 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.