Bonjours,
J'ai actuellement deux applications placé sur deux PC différents, une sur le premier PC qui récupère une donnée à partir d'un lecteur de code barre (COM6) et qui renvoi cette donnée sur deux autres ports (COM4/5) et l'autre application placée sur le second PC qui récupère les données recu sur les deux ports (COM1/2). Les Ports COM4/5(PC1) et COM1/2(PC2) sont relié avec un câble RS232.

J'utilise donc le composant Comport pour gérer mes transferts.

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
31
32
33
34
35
36
37
38
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
  var   chaine : string;
Begin
  //Passe la variable AfficheCOM1 à vrai pour permettre l'affichage
  AfficheCOM := True;
  //Lecture du port comport1 pour la reception de donnée
  ComPort1.ReadStr(Chaine,Count);
  //Clear du mémo pour éviter la saturation en donnée
  Memo1.Lines.clear;
  //Affiche la donnée reçu en COM d'entrée
  if AfficheCOM then Memo1.Lines.Text := Memo1.Lines.Text +Comport1.port+', reçu : '+Chaine+#13#10;
  //Envoi/Ecris la donnée sur un COM de sortie
  ComPort2.WriteStr(Chaine+#13#10);
  //Envoi/Ecris la donnée sur un COM de sortie
  ComPort3.WriteStr(Chaine+#13#10);
  //Affiche la donnée reçu en COM de sortie
  if AfficheCOM then Memo1.Lines.Text := Memo1.Lines.Text +Comport2.port+', envoyé : '+Chaine+#13#10;
  //Affiche la donnée reçu en COM de sortie
  if AfficheCOM then Memo1.Lines.Text := Memo1.Lines.Text +Comport3.port+', envoyé : '+Chaine+#13#10;
end;
 
procedure TForm1.ComPort2RxChar(Sender: TObject; Count: Integer);
  Var Chaine:String;
begin
  //Lis la donnée présente sur le Port comport2
  ComPort2.ReadStr(Chaine,Count);
  //Ecris dans le memo, la donnée présente sur le Port comport2
  Memo1.Lines.Text := Memo1.Lines.Text +Comport2.port+', reçu : '+Chaine;
end;
 
procedure TForm1.ComPort3RxChar(Sender: TObject; Count: Integer);
  Var Chaine:String;
begin
  //Lis la donnée présente sur le Port comport3
  ComPort3.ReadStr(Chaine,Count);
  //Ecris dans le memo, la donnée présente sur le Port comport3
  Memo1.Lines.Text := Memo1.Lines.Text +Comport3.port+', reçu : '+Chaine;
end;
Mon problème est que j’accède bien a ma procédure TForm1.ComPort1RxChar mais pas aux deux autres ComPortRxChar.
Je réceptionne bien ma donnée sur mon autres PC donc mes comport1/2/3 sont actif et fonctionnels.
Auriez vous une idée d'où viendrait le fait que c'est procédure ne s'active pas ?