Re: fonction AutomationEvénement

Posté par drcharly93 le 22/6/2006 10:54:11
Bonjour,

Pour le cas d'utilisation d'AutomationEvenement un simple petit projet sur la détection de la fermeture d'un document Word montre qu'apparement personnes n'arrivent à utiliser correctement cette fonction.

Un simple:
//Instantation d'un objet automation
o_app est un objet Automation "Word.Application"
Multitâche(200)

//Branchement de l'évènement DocumentBeforeClose sur l'objet o_app - Instance de Word
AutomationEvénement(test_ev, o_app , "DocumentBeforeClose")
//Cette ligne fonctionne correctement donc se branche bien sur l'evènement
o_app>>visible=Vrai


Juque là on a l'impression que tout fonctionne correctement et Word est rendu visible grace à la ligne:

o_app>>Visible = Vrai

Reste à créer la procedure callback test_ev pour récupérer l'évènement

Cette procédure attent deux paramètres
un objet Document puis un booleen pour savoir si on Annule ou pas la fermeture du document.
PROCEDURE test_ev( oDoc, bCancel )
Info("Le programme à détecté la fermeture du document : " + oDoc>>Name)


Lancer l'appli, le programme Word s'ouvre bien.
Ouvrer un document vierge
Refermé le, et là rien ne se passe alors que le programme devrait si le callback fonctionnenait correctement afficher une boite d'info avec le message défini ci dessus.

WDForge est en train d'élaborer un activeX ainsi qu'un projet et une documention pour la mise en place et son utilisation en attendant de trouver une autre solution.

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=14&topic_id=4206&post_id=17529