Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/06/2008, 14:33
guille_el3
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Estructura anidada y arreglos

El error creo que te lo tira por querer utilizar un struct que no está inicializado... Y fuera de eso, no entiendo porque usas una estructura dentro de la clase, cuando las variables podrian estar ya dentro de la clase... Y así evitarte los redims y esas cosas, que tampoco creo que sean necesarios.

1) Hasta donde yo se, redim es para cambiar el valor de una variable.
2) podrias crear tu clase con los atributos sueltos, total tu clase ya representa a un proveedor, no hace falta el struct.

Luego, este método no está muy bien hecho me parece...
Código:
Public Sub guardar(ByVal id2 As Integer, ByVal nombres2 As String)
          Dim respuesta As Boolean
          respuesta = True
          Dim largo As Integer
          Dim prov As Proveedor.prov
          ReDim prov.id(0)
          ReDim prov.nombres(0)
  
  
          largo = prov.id.Length - 1
  
  
          If String.IsNullOrEmpty(prov.nombres(0)) = True Then
              prov.id(largo) = id2
              prov.nombres(largo) = nombres2
          Else
              largo = largo + 1
              ReDim prov.id(largo)
              ReDim prov.nombres(largo)
              prov.id(largo) = id2
              prov.nombres(largo) = nombres2
          End If
creo que podrias reemplazarlo por:
Código:
     Public Sub guardar(ByVal unId As Integer, ByVal unNombres As String)
If String.IsNullOrEmpty(unNombre) Then
id = unId
nombre = unNombres
         Else
throw new Exception("nombre de proovedor invalido")
         End If
Otra cosa ¿que se supone debería hacer un proveedor cuando le mandas el mensaje recorrer?

Nada, espero que te sirva
Saludos
Guille