[Calc] Fonction pour modifier une autre cellule
Publié : 27 juil. 2010 13:04
Bonjour,
Les fonctions pour Calc ont une limitation : elles ne peuvent pas modifier d'autre cellule que celle où la fonction est appelée, et encore, seulement pour lui renvoyer une valeur ou un texte.
Le service AsyncCallback sert à déclencher un événement de notification de manière asynchrone par rapport au programme lanceur. Cet événement est mis en file d'attente, et celle-ci est vidée dès que possible.
Ce service permet de contourner la limitation des fonctions pour Calc.
Le document ci-joint en fait une démonstration : la modification de la cellule A2 modifie la cellule D2, sa valeur et sa couleur de fond. Pour ceux qui veulent aller plus loin
Le Listener employé est un peu particulier : il n'a pas d'événement disposing. Je suppose que les zones mémoires impliquées sont libérées après la notification.
Attention : en Basic, toute instruction est interruptible. Si vous avez d'autres instructions après le addCallback, la séquence de notification peut être déclenchée entre deux instructions quelconques, ce qui peut perturber votre programme.
Les fonctions pour Calc ont une limitation : elles ne peuvent pas modifier d'autre cellule que celle où la fonction est appelée, et encore, seulement pour lui renvoyer une valeur ou un texte.
Le service AsyncCallback sert à déclencher un événement de notification de manière asynchrone par rapport au programme lanceur. Cet événement est mis en file d'attente, et celle-ci est vidée dès que possible.
Ce service permet de contourner la limitation des fonctions pour Calc.
Le document ci-joint en fait une démonstration : la modification de la cellule A2 modifie la cellule D2, sa valeur et sa couleur de fond. Pour ceux qui veulent aller plus loin
Le Listener employé est un peu particulier : il n'a pas d'événement disposing. Je suppose que les zones mémoires impliquées sont libérées après la notification.
Attention : en Basic, toute instruction est interruptible. Si vous avez d'autres instructions après le addCallback, la séquence de notification peut être déclenchée entre deux instructions quelconques, ce qui peut perturber votre programme.