Hola estoy haciendo una pequeña incursión en el mundo las RAPI (Remote API
para hacer cosas hacia pockets pc).
Encontre un muy buen documento en la pagina de soporte de microsoft que
explicaba como traspasar archivos desde el pc al dispositivo y viceversa:
http://support.microsoft.com/defaul...-us;307256
El problema reside en que el codigo esta para visual basic 6.0 y a mi me
interesa usar esto con .NET Framework y VB.NET. El problema me viene en el
uso de la sentencia AddressOF conjuntamente a una de las varibles de una
estructura:
Código VB6
Public Type RAPIINIT
cbSize As Long
heRapiInit As Long ' esta linea y la siguiente almacenan
direcciones de memoria (lo que devuelve un AddressOf)
hrRapiInit As Long
End Type
' No entiendo demasiado para que esta funcion, la veo un poco inutil.
Private Function GetSub(Addr As Long) As Long
'Used for the init Call.
GetSub = Addr
End Function
' Esta si que la veo necesaria
Public Sub ConnectedRapi()
'Used for the init Call - Do not remove.
End Sub
Public Function RapiConnect() As Boolean
'Initiates a connection and returns true
' if it connected, false if it did not.
Dim pRapiInit As RAPIINIT
On Error GoTo RapiConnect_Err
With pRapiInit
.cbSize = Len(pRapiInit)
.heRapiInit = GetSub(AddressOf ConnectedRapi) ' Esta linea es la que
no consigo transformar a .NET
End With
Call CeRapiInitEx(pRapiInit)
RapiConnect = RapiGetCEOSVersionString <> ""
Exit Function
RapiConnect_Err:
RapiConnect = False
End Function
Al final, como he dicho, he conseguido traducir todo el código a VB.NET a
excepcion de la linea en la que digo que me da un error. Para ser exactos me
dice que no puede almacenar un Delegado en un tipo Long, cosa comprensible.
Lo unico es que no se como transformar el long en un delegado.
Gracias.
Victor
Leer las respuestas