Probleme avec callfunction.
Publié : mer. 13/déc./2006 16:20
Bonjour.
Bonjour à tous.
j'utilise PB4 dans un cadre professionnel :
je m'en sers pour developper une interface entre notre ERP et un peripherique de saisie Bluetooth qui fais en meme temps douchette laser (ce peripherique a un ecran LCD).
Via une DLL qui m'a été fournie, je peux :
- ouvrir et fermer le service bluetooth
- envoyer des caracteres sur le LCD de la douchette
- recevoir des infos de la douchette (exemple, le resultat d'un douchage de code barre).
j'ai un probleme avec cette derniere fonction.
Cette fonction est sensée etre bloquante et figer le programme qui l'appelle tant que les données ne sont pas recues.
or une fois la fonction appellée, le programme poursuit sont déroulement.
voici un resumé du code :
j'ai tenté une boucle repeat/until jusqu'à ce que la variable soit non vide, ainsi que l'utilisation de CallCfunction, le tout sans résultat. la valeur de result est 0 ce qui signifie que 0 caracteres ont été recuperés.
les developpeurs de cette DLL ne m'ont signalé aucun probleme en utilisant cette DLL avec MS C++
ma question est la suivante : y a t-il une autre facon d'appeler cette fonction pour résoudre ce problème (a part changer de langage de dev, evidemment) ?
merci d'avance pour votre aide.
Bonjour à tous.
j'utilise PB4 dans un cadre professionnel :
je m'en sers pour developper une interface entre notre ERP et un peripherique de saisie Bluetooth qui fais en meme temps douchette laser (ce peripherique a un ecran LCD).
Via une DLL qui m'a été fournie, je peux :
- ouvrir et fermer le service bluetooth
- envoyer des caracteres sur le LCD de la douchette
- recevoir des infos de la douchette (exemple, le resultat d'un douchage de code barre).
j'ai un probleme avec cette derniere fonction.
Cette fonction est sensée etre bloquante et figer le programme qui l'appelle tant que les données ne sont pas recues.
or une fois la fonction appellée, le programme poursuit sont déroulement.
voici un resumé du code :
Code : Tout sélectionner
recup$=""
If OpenLibrary(1, "EpsilonBT1002.DLL")
result=CallFunction(1,"BTStartServiceSPP","Port série Bluetooth"); en param, le nom du service pour initialiser la connexion
Delay(5000); on attends le temps que la liaison se fasse
result=CallFunction(1,"BTLectureDatas",toto$,3,10000); variable de stockage de l'info, nb de char a recuperer, temps d'attente
else
End
Endif
les developpeurs de cette DLL ne m'ont signalé aucun probleme en utilisant cette DLL avec MS C++
ma question est la suivante : y a t-il une autre facon d'appeler cette fonction pour résoudre ce problème (a part changer de langage de dev, evidemment) ?
merci d'avance pour votre aide.