Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Ventana inspecciones

Estas en el tema de Ventana inspecciones en el foro de Visual Basic clásico en Foros del Web. Hola a todos: Tengo un problema que en mi sincera opinion no tiene ni pies ni cabeza. Este es el codigo donde me da el ...
  #1 (permalink)  
Antiguo 04/04/2008, 01:21
 
Fecha de Ingreso: enero-2008
Mensajes: 61
Antigüedad: 16 años, 3 meses
Puntos: 0
Ventana inspecciones

Hola a todos:
Tengo un problema que en mi sincera opinion no tiene ni pies ni cabeza. Este es el codigo donde me da el error (es para cargar un TreeView desde un txt):

Public Sub Cargar_arbol()
'Variable para extraer informacion del archivo:
Dim text_line As String
Dim level As Integer
Dim tree_nodes() As Node
Dim num_nodes As Integer
TreeView1.Nodes.Clear
Line Input #fnum, text_line
Do While Not text_line = "#"
'Identifica el nivel del nodo:
level = 1
Do While Left$(text_line, 1) = vbTab
level = level + 1
text_line = VBA.Mid$(text_line, 2)
Loop
'Si el nivel es superior, redimensiona el array:
If level > num_nodes Then
num_nodes = level
ReDim Preserve tree_nodes(1 To num_nodes)
End If
'Añade un nuevo nodo:
If level = 1 Then
Set tree_nodes(level) = TreeView1.Nodes.Add(, , , text_line)
Else
Set tree_nodes(level) = TreeView1.Nodes.Add(tree_nodes(level - 1), tvwChild, , text_line)
tree_nodes(level).EnsureVisible
End If
Line Input #fnum, text_line
Loop
End Sub

La cuestion es la siguiente:

Si detengo la ejecucion y lo hago mediante la ventana de inspecciones, en la linea Redim Preserve... me da el error "El indice esta fuera del intervalo" con el primer nodo (cosa que no me explico, ya que creo que la asignacion es correcta). Sin embargo, si no detengo la ejecucion funciona perfectamente!!¿¿¿¿Como es posible que en modo normal el codigo funcione correctamente, pero paso a paso me muestre error?????Alguien me lo podria explicar???Es que esto es flipante.

P.D: El problema no tiene nada que ver con abrir y cerrar el archivo, ya que esto lo hago en otro procedimiento.

Gracias de antemano

Agur.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:33.