Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/10/2008, 08:28
jorgelramos
 
Fecha de Ingreso: agosto-2008
Mensajes: 71
Antigüedad: 15 años, 9 meses
Puntos: 0
De acuerdo Respuesta: Enviar y Recibir un Array de una Clase como Parametro de un Metodo de Otra

Cita:
Iniciado por Trulala de cordoba Ver Mensaje
Lo que pasa es que en tu clase como la tenes definida para podes acceder a las propiedades y metodos tenes que hacer primero una instancia de tu clase.

Lo que podes hacer si queres usar una metodo de tu clase sin necesidad de crear una instancia es definir tus metodos como "Shared" entonces no necesitar crear una instancia.

Saludos
Muchas Gracias por tu atencion.... ayer toda la noche intrigado por esto, estuve revisando y pues detecté un error que logicamente es de un principiante como yo... el problema estaba al momento de llenar el array. al hacer Redim (faltaba poner Redim Preserve)... puse eso y se arreglo todo. dejo el codigo.

Código:
Public Class Class1
    Private _sNumero As String
'  con su respectivo Get y Set 
......
End Class

Public Class Class2
     Public Function nuevo( ByRef arrayClass1 As Class1()) As Long
             For i = 0 To UBound(arrayClass1) ' PREVIAMENTE DECLARO EL i
                 MessageBox.Show(arrayClass1(i).numero)
             Next
     
            ' Dim o As Class1
            ' For Each o In arrayClass1
             '          MessageBox.Show(o.numero)
            ' Next
            ' otra forma

    End Function
End Class
y aca viene la correccion

Código:
Private Sub Button2_Click( ... .) Handles Button2.Click
        Dim eq As New Class2
        Dim c As Class1()     ' Este es el array q quiero llenar y enviar
        Dim i As Integer

        i = 0
        ReDim Preserve c(i)
        c(i) = New Class1
        c(i).numero = "NUMERO 0"

        i = 1
        ReDim Preserve c(i)
        c(i) = New Class1
        c(i).numero = "NUMERO 1"

        eq.nuevo(c) 

End Sub
Ahora tengo otro incoveniente con un Listview (Item seleccionado) pero lo voy a postear en otro . por q he revisado en las FAQ y no he dado.