Utilizacion RAPI

22/11/2004 - 16:11 por Victor S. | Informe spam
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

Preguntas similare

Leer las respuestas

#1 Manuel Romero
22/11/2004 - 17:44 | Informe spam
AddressOf te da la direccion de memoria de la rutina, y heRapiInit debe ser
un puntero a la direccion, o algo similar

"Victor S." escribió en el mensaje
news:
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


Respuesta Responder a este mensaje
#2 Manuel Romero
22/11/2004 - 17:44 | Informe spam
AddressOf te da la direccion de memoria de la rutina, y heRapiInit debe ser
un puntero a la direccion, o algo similar

"Victor S." escribió en el mensaje
news:
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


Respuesta Responder a este mensaje
#3 Victor S.
23/11/2004 - 16:48 | Informe spam
Eso esta claro, el problema esta en que no se traducir esa porcion de codigo
a .NET
Un Saludo

"Manuel Romero" @hotmail.com> escribió en el mensaje
news:
AddressOf te da la direccion de memoria de la rutina, y heRapiInit debe
ser
un puntero a la direccion, o algo similar

"Victor S." escribió en el mensaje
news:
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






Respuesta Responder a este mensaje
#4 Victor S.
23/11/2004 - 16:48 | Informe spam
Eso esta claro, el problema esta en que no se traducir esa porcion de codigo
a .NET
Un Saludo

"Manuel Romero" @hotmail.com> escribió en el mensaje
news:
AddressOf te da la direccion de memoria de la rutina, y heRapiInit debe
ser
un puntero a la direccion, o algo similar

"Victor S." escribió en el mensaje
news:
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






Respuesta Responder a este mensaje
#5 Manuel Romero
23/11/2004 - 22:01 | Informe spam
Perdona, pense que era que no sabias que hacia esa funcion, realmente no se
.Net, asi que no puedo ayudarte

"Victor S." escribió en el mensaje
news:%
Eso esta claro, el problema esta en que no se traducir esa porcion de


codigo
a .NET
Un Saludo

"Manuel Romero" @hotmail.com> escribió en el mensaje
news:
> AddressOf te da la direccion de memoria de la rutina, y heRapiInit debe
> ser
> un puntero a la direccion, o algo similar
>
> "Victor S." escribió en el mensaje
> news:
>> 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
>>
>>
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida