Description
variant
com_get_active_object ( string progid [, int code_page] )
com_get_active_object() est similaire à la création d'une
nouvelle instance COMd'un objet COM, excepté qu'elle ne
retournera un objet à votre script uniquement si l'objet est actuellement instancié.
Les applications OLE utilisent quelque chose connue en tant que
"Running Object Table" qui permet aux applications connues
d'être exécutées juste une fois ; cette fonction expose la fonction
GetActiveObject() de la bibliothèque COM pour récupérer un objet d'une instance en cours
d'utilisation.
Le paramètre Progid doit être soit le ProgID, soir le
CLSID de l'objet dont vous voulez avoir l'accès (par exemple,
Word.Application).
Le paramètre code_page utilise les mêmes règles
que dans la COM classe.
Si l'objet demandé est en cours d'exécution, la fonction
com_get_active_object() retournera à votre script
ce que toute autre objet COM retournerait. Sinon, un
com_exception sera augmenté.
Il y a beaucoup de raisons pour lesquelles cette fonction peut échouer. Dans
cette situation, le code erreur de l'exception devrait être
MK_E_UNAVAILABLE ; vous pouvez utiliser la méthode
getCode de l'objet exception pour vérifier le code de l'exception.
| Avertissement |
Utiliser la fonction com_get_active_object() sur un serveur
web n'est pas toujours la meilleur idée. La plus part des applications COM/OLE ne sont
pas faites pour gérer plus d'un client en concurrence, comme
(et surtout !!) Microsoft Office. Vous devriez lire les considérations pour les
automatismes coté serveur pour Office
pour plus d'informations sur les comportements généraux.
|