Trois valeurs peuvent etre retournees, selon le statut du message, comme suit :
Zero indique qu aucun message n est disponible, il faut reessayer plus tard. Une valeur de 1 signifie qu un message vient d arriver, mais ne necessite pas de reponse. 2 indique qu un message a ete recu et doit etre repondu immediatement avec une chaine de retour appropriee. Cette fonction peut etre utilisee dans une boucle, comme alternative a la commande AREXX WAIT. Par exemple :
X> Do If Arexx Print "Un message est en attente !" Endif Multi Wait Loop
AREXX$
fonction : obtenir un message depuis un programme AREXX
message$=Arexx$(numero du message)
Apres reception d un message depuis un programme compatible AREXX, cette fonction permet d en lire le contenu.
Le numero fait reference au message a lire, entre 0 et 15. Si aucun numero n est specifie, une chaine vide sera retournee.
AREXX ANSWER
instruction : repondre a un message provenant d un programme AREXX
Arexx Answer valeur erreur
Arexx Answer valeur erreur,retour$
Normalement, lorsqu un message arrive depuis un programme AREXX, il doit etre repondu sans delai. Cette commande renvoie une reponse au programme appelant, avec les champs de resultat speciaux definis aux valeurs appropriees. Valeurs typiques :
0 Pas d erreur 5 Avertissement 10 Erreur severe 20 Erreur fatale
Si le programme AREXX demande une chaine de retour, une chaine doit etre retournee, sinon le programme appelant restera bloque en attente d une reponse. Cette situation doit etre detectee par la fonction AREXX, comme explique precedemment, et une valeur retournee de 2 signifie qu une reponse doit etre donnee immediatement.
Le systeme de messages d AMOS Professional est intelligent, donc si vous essayez de retourner une chaine a un programme AREXX qui n en demande pas, elle ne sera pas transmise. De meme, si le programme AREXX attend une chaine, mais qu elle est omise accidentellement dans l instruction, AMOS Professional enverra automatiquement une chaine vide.