drasche | Bonjour,
dans une application VB6, je crée une instance visible de WordBasic (un sous-objet de Word.Application, présentant à l'écran une instance de Word) via la fonction CreateObject de VB. Cette manière de faire me rend compatible avec toutes les versions de Word depuis la version 95.
Je précise que l'objet, pour plusieurs raisons, est déclaré de type Object et que je suis obligé de faire comme cela (par le client), donc je ne peux trapper les events émis par cet objet. Comme l'utilisateur a tout loisir de manipuler l'instance visible de Word, il a aussi le loisir de fermer Word.
Mon but est de déterminer si l'instance que j'ai créée est toujours disponible, et de la réutiliser si tel est le cas; autrement, je détruirai les restes de mon instance en cours, et j'en créerai une nouvelle.
Mon problème est, comment faire pour détecter si l'utilisateur ferme cette instance de Word? Car l'utilisateur a toute liberté de s'en servir. Malheureusement, mon "objet" est toujours présent et je n'ai pas vraiment de moyen de tester que l'objet créé est bien présent (donc différent de Nothing), je dirais même "disponible".
En fait, il y en a bien un: si je tente d'y accéder, j'aurai l'erreur 462 "The remote server machine does not exist or is unavailable", mais je me demandais s'il n'existait pas un moyen plus propre que de déclencher cette erreur. OLE étant ce qu'il est, je doute que ce soit le seul cas où je pourrais avoir cette erreur, donc ce n'est pas assez précis et je ne veux pas risquer d'effets de bord indésirables.
Tout avis bienvenu, merci d'avance. ---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
|