Ayuda con procedimiento !

Iniciado por TrashAmbishion, 23 Diciembre 2017, 19:06 PM

0 Miembros y 1 Visitante están viendo este tema.

TrashAmbishion

Hola,

Me pueden explicar como pasar el 3er parametro de este procedimiento

Código (vbnet) [Seleccionar]


Public Sub ConnectAsync(request As AuthRequest, Optional overwriteProfile As Boolean = False, Optional onConnectComplete As Action(Of Boolean) = Nothing)

'Este es el procedimiento de una clase que lo llamo desde

AccessPoint.ConnectAsync(resquest, False, OnConnectComplete)

'Cree este Sub, pero me da error sin declararlo Optional y setearle el True me decia que no se habia declarado un valor para isConnected
'cuando lo dejo asi (forzado) me dice que ConnectAsync no devuelve nada y realmente me dejo pasmao con ese mensaje

   Sub OnConnectComplete(Optional isConnected As Boolean = True)

        If isConnected = True Then
            txtLog.AppendText("Conexión completada." & vbCrLf)
        End If

    End Sub



Lo que quiero es que una vez conectado me avise.

Saludos y gracias cualquier sugerencia

Eleкtro

#1
Cita de: TrashAmbishion en 23 Diciembre 2017, 19:06 PMMe pueden explicar como pasar el 3er parametro de este procedimiento

Ups, te habría respondido antes pero no se me pasó este post, sorry.

Simplemente usa el operador AddressOf:
Código (vbnet) [Seleccionar]
AccessPoint.ConnectAsync(resquest, False, AddressOf OnConnectComplete)

Otra forma en la que se podría hacer, sería así:
Código (vbnet) [Seleccionar]
Dim action As Action(Of Boolean) =
   Sub(ByVal isConnected As Boolean)
       If (isConnected) Then
           txtLog.AppendText("Conexión completada." & vbCrLf)
       End If
   End Sub

AccessPoint.ConnectAsync(request, False, action)

Luego, en método ConnectAsync:
Código (vbnet) [Seleccionar]
action.Invoke(argumento boolean)

Saludos








TrashAmbishion

Thanks bro...

Lo pruebo en un rato y te cuento!!!