IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Deux traitements à la fois…


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Décembre 2002
    Messages : 211
    Points : 65
    Points
    65
    Par défaut Deux traitements à la fois…
    Bonjour tout le monde
    Je rencontre un problème et je solliciter votre aide.
    Sur ma fenêtre (voir capture), j'ai une zone de saisie (en rouge) et deux listes.
    Cette fenêtre est utilisé pour pointé les ouvriers en utilisant les lecteurs de code à barre.
    Mon focus est toujours sur la zone de saisie (celle en rouge).
    Il y a deux agents qui pointent les gens à la fois, j'ai programmé mes douchettes de tel sorte que si la douchette 1 le traitement va se faire sur la liste1 (chercher le code à barre sur un fichier texte puis l'ajouter sur la liste1), et si la douchette 2 le traitement sa se faire sur la liste2.
    Le problème arrivé quand les deux agents lisent les codes à barre en même temps,
    Je chercher un moyen pour bloquer le traitement de la sortie de la zone de saisie tant que le premier traitement n'est pas encore terminé. Au bien une autre idée pour faire la même chose.

    Merci d'avance...


  2. #2
    Membre chevronné Avatar de Guardian
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    820
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 820
    Points : 1 808
    Points
    1 808
    Par défaut
    Regarde la gestion des Threads il me semble que ça pourrait résoudre ton problème.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 178
    Points : 416
    Points
    416
    Par défaut
    Bonjour,

    Vous semblez utiliser 2 lecteurs code barre en interface clavier sur le même champ, ce qui n'est pas recommandé considérant l'inprédictibilité au niveau de l'ordre d'arrivé des caractères.

    La solution la plus propre serait d'utiliser des lecteurs avec une interface série ou autre, vous permettant de gérer le flux d'entrée de chaque lecteur indépendamment.
    Il existe aussi des solutions matériel vous permettant de brancher plusieurs lecteurs sur un seul, ce dernier se chargeant de transférer les codes dans l'ordre avec pour certain la possibilité de marquer une pause entre chaque trame.

    Une solution pour résoudre votre problème sans changer votre configuration actuelle est de retirer le traitement lors de la sortie du champ est de le mettre dans un thread comme suggéré par Guardian.
    Vous n'avez plus qu'à mettre en place un système vous permettant de suivre l'activité sur votre champ, par exemple en mettant à jour une variable globale avec l'heure à chaque modification, et traiter le contenu du champs pendant les temps mort, en découpant son contenu par la longueur de votre code barre.

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur Junior
    Inscrit en
    Septembre 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Junior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 170
    Points : 177
    Points
    177
    Par défaut
    Si le but est d'effectuer plusieurs traitements à la fois, les threads sont sûrement la solution

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Décembre 2002
    Messages : 211
    Points : 65
    Points
    65
    Par défaut
    Bonjour
    Je vous remercie pour votre aide, je veux voir cote des Threads.

    Merci infiniment

  6. #6
    Membre expérimenté
    Inscrit en
    Août 2010
    Messages
    726
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 726
    Points : 1 645
    Points
    1 645
    Par défaut
    Bonjour,

    Non, la solution ce n'est probablement pas d'aller voir du côté des threads, notamment parce que jusqu'ici on parle d'événements IHM, et qu'on veut justement ne pas les entrelacer.
    Lisez plutôt la réponse de themayu, c'est la seule valable.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Décembre 2002
    Messages : 211
    Points : 65
    Points
    65
    Par défaut
    Bonjour

    je suis totalement d'accord, mais je cherche la solution la moins coûteuse, côte matériel je doit acheter une carte serie, re-acheter des covertisseurs etc et ça pour 12 lecteurs...

  8. #8
    Membre expérimenté
    Inscrit en
    Août 2010
    Messages
    726
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 726
    Points : 1 645
    Points
    1 645
    Par défaut
    Bonjour,

    Votre problème, c'est probablement que vous avez 2 périphériques, appelés A et B qui envoient ceci :

    A : <Champ 1>
    A : 1
    A : 2
    B : <Champ 2>
    B : 1
    A : 3
    B : 2
    B : 3

    Ce qui donne :
    Champ 1 = "12"
    Champ 2 = "1323"
    Au lieu de "123" dans les 2 champs

    Vous confirmez que c'est ça votre problème ?

    En quoi un thread va permettre d'éviter ça ?
    Un thread, c'est un traitement parallèle, donc un autre moyen de générer ce genre de bug !

    Dans la doc des douchettes il n'y a pas un paragraphe donnant une solution ?
    Les douchettes ne sont vraiment capables que d'émuler une saisie au clavier ? Elles n'ont pas un autre système ?

    PS. Il n'y avait pas un SDK fourni avec les douchettes ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Décembre 2002
    Messages : 211
    Points : 65
    Points
    65
    Par défaut
    Bonjour

    les lecteurs que j’utilise sont lecteur voyager 1200g. deux lecteurs sont branché sur l'ordinateur en USB. et que la lecture se fasse sur un seul champs (c'est normal, la ou il y a le curseur de la souris). et suivant la douchette, si si la douchette A, le traitement 1 est exécute, si non c'est la douchette B et donc le traitement 2 est exécute.

    le problème se pose quand les deux agents lisent les codes à barre en même temps.

    il me faut un moyen de faire attendre le traitement 2 jusqu'au finition du traitement 1;

    merci d'avance..

  10. #10
    Membre expérimenté
    Inscrit en
    Août 2010
    Messages
    726
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 726
    Points : 1 645
    Points
    1 645
    Par défaut
    D'après cette page :
    http://www.honeywellaidc.com/fr-fr/P...=HSM&pid=1200g

    Il y a bien la possibilité de les faire fonctionner en port COM (via USB, pas besoin de matériel supplémentaire).

    C'est la meilleure solution.

Discussions similaires

  1. faire s'attendre deux traitements
    Par dsant dans le forum C
    Réponses: 1
    Dernier message: 13/04/2008, 11h31
  2. utiliser deux connexions à la fois
    Par elghadi_mohamed dans le forum Windows XP
    Réponses: 2
    Dernier message: 17/01/2008, 11h21
  3. Indexer deux tables à la fois
    Par Info_76 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/08/2007, 16h39
  4. création de deux graphiques à la fois
    Par Makino dans le forum Tkinter
    Réponses: 2
    Dernier message: 06/03/2006, 16h48
  5. Impression de deux onglets à la fois
    Par auriolbeach dans le forum Access
    Réponses: 3
    Dernier message: 17/10/2005, 05h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo