laurentkreps
Messages postés4Date d'inscriptionlundi 13 janvier 2003StatutMembreDernière intervention13 avril 2011
-
11 avril 2011 à 12:16
laurentkreps
Messages postés4Date d'inscriptionlundi 13 janvier 2003StatutMembreDernière intervention13 avril 2011
-
13 avril 2011 à 00:07
Bonjour,
j'ai parcouru ce forum (et d'autres) et il me semble que pas mal de personnes ont du mal avec le RS232.
J'ai aussi l'impression que tout ça a pas mal changé au fil des versions de VB.
Voici mon problème: j'ai commencé un projet de soft qui doit pouvoir attribuer et lire des cartes RFID.
J'arrive à lire dans une première form la carte (créé un port avec IO serialport : Friend WithEvents RS232 As System.IO.Ports.SerialPort)
La fait est que je ne peux pas créer un bouton qui lit la carte vu que l'impulsion vient justement du scan de la carte (si on lit le port avant ou après ça marche pas)
J'ai créé une fonction qui gère cet événement de lecture: Private Sub RS232_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles RS232.DataReceived
Cette fonction copie les infos de la carte dans un textbox.
Dans une autre form, je voudrais faire la même chose: j'ai tout fait de même (je crois que quelques notions de base me manque un peu, notamment le fonctionnement de "handles RS232.DataReceived"; je suppose que cela veut dire que la fonction réagit à cet événement. Comment faire pour que dans cet autre form, le résultat de la lecture de la carte aille dans un autre textbox ?
J'espère avoir été suffisamment clair et vous remercie mille fois pour votre aide.
laurentkreps
Messages postés4Date d'inscriptionlundi 13 janvier 2003StatutMembreDernière intervention13 avril 2011 11 avril 2011 à 16:30
Bonjour,
merci pour votre réponse. Malheureusement, cela ne résout pas mon problème.
J'ai un form, nommé Dialog2 pour dans lequel tout fonctionne.
Par contre, si j'essaie le même code dans une autre form (qui ne s'exécute que quand Dialog2 est fermé) rien ne se passe.
Je me demande si le fait d'avoir une fonction qui gère déjà les événements sur le port com ne fait pas en sorte qu'ici, rien ne se passe puisque la fonction n'est jamais invoquée (ce sera celle du form fermé qui est appelée ?)
Donc, au risque de démontrer mon incompétence, pouvez-vous me dire s'il est possible de faire une classe qui surveille le RS232 et qui lorsqu'un événement se produit, fait une action sur la fenêtre ouverte.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 12 avril 2011 à 01:24
Pour que les évènements liées à la première forme continuent à réagir, il faut que l'appel de la seconde forme soit fait en ModeLess, car en Modal, la forme appelante est comme figée durant la présence de la seconde.