Hola a todos.
Me estoy volviendo loco con un error que no soy capaz de encontrar. Tengo esta función, que basicamente rellena un array de dos dimensiones preguntando al usuario por los números.
Código:
Private Function preguntarDatos(d As String) As Float[]
  Dim a, c As Integer
  Dim entrada As String
  Dim en As Float[]
  Dim b As Float
 
  en = New Float[filas, columnas]
  Print "Introduce los datos de la matriz '" & d & "':"
  For c = 0 To filas - 1
    For a = 0 To columnas - 1
      While True
        Print "Dato [" & Str(c + 1) & ", " & Str(a + 1) & "] = ?"
        Input entrada
        Try b = CFloat(entrada)
        If Error Then
          Print "Dato no válido..."
        Else
          Break
        Endif
      Wend
      en[c, a] = b
    Next
  Next
  Return en
End
Como apunte, las variables "filas" y "columnas" son variables de clase y he comprobado que no tengan un valor de cero. El caso que es en la primera vuelta del bucle for me da un error de "Bad number of dimensions" en la línea 22. Y no puede ser, ya que las variables "c" y "a" tienen el valor de 0, como digo es en la primera interacción.
 El caso que poninedo este código en la web de Gambas no me da error.
Código:
Dim a, c As Integer
Dim entrada,d As String
Dim en As Float[]
Dim b As Float
dim filas, columnas as integer
filas = 3
columnas = 3
d="jk"
  en = New Float[filas, columnas]
  Print "Introduce los datos de la matriz '" & d & "':"
  For c = 0 To filas - 1
    For a = 0 To columnas - 1
      While True
        Print "Dato [" & Str(c + 1) & ", " & Str(a + 1) & "] = ?"
      entrada = "3"
        Try b = CFloat(entrada)
        If Error Then
          Print "Dato no válido..."
        Else
          Break
        Endif
      Wend
      en[c, a] = b
    Next
  Next
Como se puede observar es practicamente el mismo, el primero me da error y el segundo no. ¿Alguién ve lo que estoy haciendo mal?
Muchas gracias.
Un saludo.