Dialogues bloquants
Il y a deux logiques de programmation des dialogues:
- par “délégation” ou “continuation”:
Une fonction (p. ex. un réflexe associé à un bouton)
- poste le dialogue
- puis retourne à la boucle d’évènements (MainLoop) pour que l’application puisse gérer les évènements qui suivent
Pour traiter la réponse aux questions du dialogue, on enregistre des fonctions réflexes pour le dialogue à qui le traitement est délégué.
- logique “séquentielle”:
La fonction réflexe
- poste le dialogue
- attend la réponse
- entreprend l’action en fonction de la réponse
La logique séquentielle demande l’installation d’une boucle locale de gestion d’évènements, pour attendre la réponse.
{ ... dans réflexe du bouton
AjoutCallback(d, GererOK);
AjoutCallback(d, GererCANCEL);
{ ... dans réflexe du bouton