Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
SET TIMEOUT
|
SET TIMEOUT ( secondes ) | ||||||||
Paramètre | Type | Description | ||||||
secondes | Entier long |
![]() |
Nombre de secondes jusqu'au timeout | |||||
La commande SET TIMEOUT vous permet de définir le temps d'attente maximum pour l'exécution d'une commande de communication série. Si la commande ne se termine pas dans le temps secondes qui lui est imparti, la communication série est annulée, l'erreur –9990 est générée, et la variable système OK prend la valeur 0. Vous pouvez intercepter cette erreur à l'aide d'une méthode installée par la commande ON ERR CALL.
Notez que le délai défini représente la durée totale permise pour que la commande s'exécute, et non le délai d'attente entre chaque caractère reçu. Pour annuler un paramétrage précédent et ne pas spécifier de temps d'attente maximum, passez 0 dans le paramètre secondes.
Les commandes de communication série affectées par ce paramétrage sont les suivantes :
L'exemple suivant fixe le port série devant recevoir des données et le timeout. Les données sont lues à l'aide de RECEIVE PACKET. Si les données ne sont pas bien reçues dans le temps défini, une erreur survient :
` Ouverture du port série
SET CHANNEL(MacOS serial port;Speed 9600+Data bits 8+Stop bits one+Parity none)
SET TIMEOUT(10) ` Fixer le timeout à 10 secondes
ON ERR CALL("INTERCEPTER ERREURS COMMUNICATIONS") ` Traiter les interruptions éventuelles
RECEIVE PACKET(vBuffer;Char(Carriage return)) ` Lire jusqu'au retour chariot
If(OK=0) ` Si une erreur survient
ALERT("Erreur lors de la réception des données.") ` Informer l'utilisateur
Else
[Personnes]Nom:=vBuffer ` Sauvegarder les données dans un champ
End if
ON ERR CALL
RECEIVE BUFFER
RECEIVE PACKET
RECEIVE RECORD
RECEIVE VARIABLE
Produit : 4D
Thème : Communications
Numéro :
268
Créé : < 4D v6
4D - Langage ( 4D v20 R7)