PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV Mobile 2024 → [WM17] Composant DATALOGIC
[WM17] Composant DATALOGIC
Iniciado por Simbad, 25,sep. 2012 12:00 - 5 respuestas
Miembro registrado
24 mensajes
Publicado el 25,septiembre 2012 - 12:00
Bonjour,

Je rencontre un soucis dans l'utilisation du composant Datalogic.
J'ai créé une application comportant plusieurs fenêtres, j'initialise le composant dans la fenêtre principale, ça fonctionne correctement. Mais lorsque j'appelle une autre fenêtre que j'initialise le scan puis que je spécifie le nouveau CallBack, j'arrive a scanner un code barre mais sans qu'il déclenche l’évènement WM_SCAN_COMPLETE puis blocage complet, plus de scan possible.

Faut-il réinitialiser le scanner entre les fenêtres, si oui comment?

Merci de votre aide.
Publicado el 28,septiembre 2012 - 11:11
Bonjour,

il faut en effet initialiser le scanner uniquement dans la fenêtre qui va effectivement faire la lecture..
Le retour de la lecture se faisant via un événement, l'événement est donc envoyé à la fenêtre qui a initialisé le scanner, si cette fenêtre n'est plus accessible, en arrière plan ou fermée, vous ne recevrez jamais le message !

En espérant vous avoir aidé
Marc
Miembro registrado
24 mensajes
Publicado el 02,octubre 2012 - 21:58
Bonjour,

Donc impossible d'utiliser le scanner via le composant dans une application ayant plusieurs fenêtres.

Quelle méthode conseillez vous pour contourner le problème mis à part de gérer directement les événements en entrée ou sortie de saisie?

Je vais essayé de regardé du côté des dll fournis dans le SDK Datalogic.

Merci
Publicado el 03,octubre 2012 - 10:25
Bonjour,

selon le type de votre application (enfin, selon ce qu'elle fait) si le scan ne peut s'effectuer que dans une seule fenêtre, je vous conseille d'initialiser le composant dans cette fenêtre et de le libérer à la fermeture de la fenêtre...
si l'utilisateur doit pouvoir scanner dans plusieurs fenêtres, ca serait d'initialiser le composant dans chacune des fenêtre (en ayant pris soin de le libérer avant...)

Le SDK Datalogic fonctionne avec un événement, donc lorsqu'un scan est détecté, un message est envoyé à la fenêtre donnée lors de l'initialisation.
si cette fenêtre est bloquée en attente d'une autre (dans un ouvre par exemple), le message ne sera jamais traité (ou beaucoup plus tard si le systeme ne l'a pas supprimé)...

En espérant vous avoir aidé
Marc
Publicado el 03,octubre 2012 - 18:01
Bonjour,

Merci pour votre réponse, je suis d'accord avec vous qu'il faudrait libérer le scan au changement de fenêtre.
Dans le composant, je ne vois pas de fonction pour libérer le scan.
Je suis encore novice en programmation windev mais est-ce que je dois fermer la première fenêtre après avoir ouvert la seconde et avant d'initialiser le scan dans cette nouvelle fenêtre afin de libérer le scan?

Merci
Publicado el 11,enero 2013 - 12:23
Avez vous essayé avec des plans à la place des fenêtres?