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

Composants VCL Delphi Discussion :

TComPort : Gérer plusieurs réceptions


Sujet :

Composants VCL Delphi

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 20
    Points : 14
    Points
    14
    Par défaut TComPort : Gérer plusieurs réceptions
    Bonjour

    Je vous explique mon problème : je dois recevoir plusieurs trames différentes sur le même ComPort. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
    begin
          if(lect = true) then
          begin
            while(ComPort1.InputCount>0) do 
            begin
                 ComPort1.ReadStr(rep,Count);            
                      //programme de traitement
            end;
          end;
     
          if(prog = true) then
          begin
            while(ComPort1.InputCount>0) do 
            begin
                 ComPort1.Read(rep,Count);            
                      //programme de traitement
            end;
          end;
     
          if(lect_err = true) then
          begin
            while(ComPort1.InputCount>0) do 
            begin
                 ComPort1.Read(rep,Count);            
                      //programme de traitement
            end;
          end;
     
    end;
    J'appuie sur des boutons pour lire ce que je veux et j'ai donc mit des booléen afin de savoir quelle partie je dois traité selon ce que j'attends de recevoir.
    Le problème est que ça ne marche que pour le premier. Pour les suivants, mon programme reste bloqué à la fin du while :il ne reboucle pas ou il ne sort pas de la boucle (j'ai également essayé de faire le traitement après la boucle while mais ça pose le même soucis).
    Je n'arrive pas à comprendre pourquoi, si quelqu'un peut m'éclairer

    Merci !

  2. #2
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    J'avais tout simplement utilisé la fonction Read à la place de ReadStr ... --'

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET]Comment gérer plusieurs boutons en 1 méthode Click ?
    Par Cydreav dans le forum Windows Forms
    Réponses: 4
    Dernier message: 05/02/2006, 23h53
  2. Gérer plusieur bouton pour un meme formulaire
    Par Phenomenium dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/01/2006, 13h08
  3. Réponses: 4
    Dernier message: 08/09/2004, 10h28
  4. Comment gérer plusieurs langues ?
    Par InterSQL dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 27/02/2004, 16h12
  5. Comment gérer plusieurs icones dans son exécutable ?
    Par declencher dans le forum Langage
    Réponses: 5
    Dernier message: 15/10/2003, 10h49

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