Connexion/déconnexion du PS et traitement multitâche

Une application EHLLAPI doit gérer une connexion à différentes sessions en appelant les fonctions EHLLAPI ConnectPS et DisconnectPS. L'application doit être soigneusement codée pour éviter d'être connectée indéfiniment à une session, car les sessions doivent être partagées par toutes les applications EHLLAPI. Vous devez également vous assurer qu'une application est connectée à une session avant d'utiliser certaines autres fonctions EHLLAPI.

La HACL ne nécessite aucune connexion ou déconnexion de session explicite par l'application. Chaque objet HACL est associé à une connexion (session) particulière lors de sa construction. Pour accéder aux différentes connexions, l'application n'a qu'à créer des objets pour chacune d'entre elles. Par exemple, l'exemple suivant envoie les frappes ABC à la session A, puis DEF à la session B, puis la touche Entrée à la session A. Dans un programme EHLLAPI, l'application devrait connecter/déconnecter chacune des sessions puisqu'elle peut interagir avec un seul à la fois. Une application HACL peut simplement utiliser les objets dans n'importe quel ordre :
ECLPS *PSA, *PSB; PSA = new ECLPS('A'); PSB = new ECLPS('B'); PSA->Sendkeys("ABC"); PSB->Sendkeys("DEF"); PSA->Sendkeys("[enter]");

Pour les applications qui interagissent avec plusieurs connexions (sessions), cela peut grandement simplifier le code nécessaire à la gestion des multiples connexions.

En plus de la session de travail unique, EHLLAPI impose également des contraintes sur la nature de traitement multitâche de l'application. La connexion à l'espace de présentation et la déconnexion de l'espace de présentation doivent être gérées avec précaution lorsque l'application dispose de plusieurs unités d'exécution appelant l'interface EHLLAPI, et même avec plusieurs unités d'exécution, l'application ne peut interagir qu'avec une seule session à la fois.

L'ECLPS n'impose aucune restriction particulière en matière de traitement multitâche sur les applications. Une application peut interagir simultanément avec n'importe quel nombre de sessions sur n'importe quel nombre d'unités d'exécution.