|
|
|
|
|
- Détection des événements et threads
- Gestion d'événements très rapprochés
- Débranchement d'un ou de plusieurs événements
- Fermeture du port
- Utilisation d'une librairie externe : RXTX
sEvénement (Fonction) En anglais : sEvent Branche un événement sur un port série.
// Détection de caractères sur le port COM1 sEvénement(1, sEveCaractèreReçu, "LectureCaractère")
// -- Procédure LectureCaractère PROCÉDURE LectureCaractère(NumPort, NumEvénement) Trace(sLit(1, sDansFileEntrée(1)))
Syntaxe
<Résultat> = sEvénement(<Numéro de port> , <Événement géré> , <Procédure WLangage>)
<Résultat> : Booléen - Vrai si la fonction a été exécutée,
- Faux dans le cas contraire. Si le port n'a pas été préalablement ouvert en mode "Gestion des événements" (avec la fonction sOuvre), la fonction sEvénement n'a aucun effet.
<Numéro de port> : Entier - Numéro de port série concerné (1, 2, 3, ...32 pour COM1, COM2, COM3, ... COM32).
- Numéro de port renvoyé par la fonction sOuvre (si cette fonction a été appelée avec un nom de port).
<Événement géré> : Constante ou combinaison de constantes de type Entier Evénement à repérer sur le port : | | sEveBreak (valeur : 64) | Réception d'un événement "Break line" | sEveCaractèreReçu (valeur : 1) | Réception d'un caractère | sEveCTS (valeur : 8) | Changement d'état CTS | sEveDSR (valeur : 16) | Changement d'état DSR | sEveEnvoiTerminé (valeur : 4) | Le buffer de sortie est vide | sEveErreur (valeur : 128) | Détection d'une erreur sur la ligne
| sEveErreurImprimante (valeur : 512) | Erreur d'imprimante détectée
| sEveFileEntrée80 (valeur : 1024) | Le buffer d'entrée est plein à 80%
| sEveRing (valeur : 256) | Détection du signal "Ring" (sonnerie) | sEveRLSD (valeur : 32) | Changement d'état RLSD
|
<Procédure WLangage> : Nom de procédure Nom de la procédure WLangage appelée chaque fois que l'événement spécifié est détecté. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Numéro de port>, <Numéro de l'événement>) où <Numéro de port> correspond au port où l'événement est survenuoù <Numéro de l'événement> correspond à une des constantes événement. Remarques Détection des événements et threads La détection des événements est réalisée dans un thread spécifique du WLangage. L'appel de la procédure WLangage est réalisé dans ce thread. Cette procédure est donc soumise aux limitations sur les threads (notamment au niveau de l'affichage). Gestion d'événements très rapprochés Si au cours de la procédure déclenchée par l'événement, un autre événement se déclenche, ce dernier événement ne sera pas détecté. Si des événements très proches sont susceptibles de se déclencher, il est conseillé : - de lire uniquement les données de l'événement (avec la fonction sLit) dans la procédure déclenchée par la fonction sEvénement,
- d'effectuer la suite du traitement dans un autre thread.
Débranchement d'un ou de plusieurs événements Pour débrancher la gestion d'un ou de plusieurs événements, utilisez la fonction sFinEvénement. Fermeture du port Lors de la fermeture du port, tous les événements gérés sur ce port sont débranchés. Lors de la ré-ouverture du port, il est donc nécessaire de ré-exécuter la fonction sEvénement pour définir les événements gérés sur ce port. Classification Métier / UI : Code métier Composante : wd300com.dll
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|