OVH Cloud OVH Cloud

Lire port serie et DLL externe.....

3 réponses
Avatar
jp magne
Bonjour,

merci de m' aider .

j' ai la fonction suivante dans une DLL externe, elle se declare comme suit:
----------------------------
Private Declare Function
hitt_inspect
Lib "H-ITTSDK.dll"
(ByRef Bytes As Byte, id As Long, key_code As Long) As Long
----------------------------

la variable Bytes vient d' un port com serie,

MScomm1.input

la fonction externe n' accepte pas la donnée venant de MScomm........

probléme de type .....

With C++ this variable is write like this in prototype:
unsigned char *pBytes

Variable In C++ program that read this is :
Unsigned char bytes[10]

jpm

3 réponses

Avatar
François Picalausa
Hello,

Variable In C++ program that read this is :
Unsigned char bytes[10]



Passes-tu bien un tableau et non un byte?
Ceci montre comment faire:

Dim BytesRécupérés(9) AS Byte

LireBytes BytesRécupérés

Msgbox hitt_inspect(BytesRécupérés(0), id, Key)

Note que l'on passe le premier élément du tableau ou plus précisément un
pointeur vers le premier élément; les autres éléments suivent dans la
mémoire.

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"jp magne" a écrit dans le message de
news:ul0%
Variable In C++ program that read this is :
Unsigned char bytes[10]


Avatar
jp magne
merci,

je passe à Bytes MScomm.input, donc une chaine texte ou une chaine
binary....

jpm

François Picalausa a écrit dans le message
<#...
Hello,

Variable In C++ program that read this is :
Unsigned char bytes[10]



Passes-tu bien un tableau et non un byte?
Ceci montre comment faire:

Dim BytesRécupérés(9) AS Byte

LireBytes BytesRécupérés

Msgbox hitt_inspect(BytesRécupérés(0), id, Key)

Note que l'on passe le premier élément du tableau ou plus précisément un
pointeur vers le premier élément; les autres éléments suivent dans la
mémoire.

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"jp magne" a écrit dans le message de
news:ul0%
Variable In C++ program that read this is :
Unsigned char bytes[10]






Avatar
François Picalausa
Hello,

tu peux essayer de convertir ta déclaration:
Private Declare Function hitt_inspect _
Lib "H-ITTSDK.dll" _
( _
ByVal Bytes As String, _
id As Long, _
key_code As Long _
) _
As Long

et de lui passer directement la chaine.
Vérifie bien que la chaine fait 10 caractères avant de la passer!

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"jp magne" a écrit dans le message de
news:
merci,

je passe à Bytes MScomm.input, donc une chaine texte ou une chaine
binary....

jpm

François Picalausa a écrit dans le message
<#...
Hello,

Variable In C++ program that read this is :
Unsigned char bytes[10]



Passes-tu bien un tableau et non un byte?
Ceci montre comment faire:

Dim BytesRécupérés(9) AS Byte

LireBytes BytesRécupérés

Msgbox hitt_inspect(BytesRécupérés(0), id, Key)

Note que l'on passe le premier élément du tableau ou plus
précisément un pointeur vers le premier élément; les autres éléments
suivent dans la mémoire.

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"jp magne" a écrit dans le message de
news:ul0%
Variable In C++ program that read this is :
Unsigned char bytes[10]