(PHP 5, PHP 7, PHP 8)
com_get_active_object — Retourne un objet représentant l'instance actuelle d'un objet COM
com_get_active_object() est similaire à la création d'une
nouvelle instance com d'un objet COM, excepté qu'elle ne
retournera un objet au script que si l'objet est actuellement en cours d'exécution.
Les applications OLE utilisent quelque chose de connu 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.
prog_id
Le paramètre prog_id doit être soit le ProgID, soit le
CLSID de l'objet dont l'on veut avoir l'accès (par exemple,
Word.Application).
codepageutilise les mêmes règles que dans la classe com.
Si l'objet demandé est en cours d'exécution, la fonction retournera au script ce que tout autre objet COM retournerait.
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 ; il est possible d'utiliser la méthode
getCode de l'objet exception pour vérifier le code de l'exception.
| Version | Description |
|---|---|
| 8.0.0 |
codepage est désormais nullable.
|
Utiliser la fonction com_get_active_object() sur un serveur web n'est pas toujours la meilleure idée. La plupart des applications COM/OLE ne sont pas faites pour gérer plus d'un client en concurrence, comme (et surtout !!) Microsoft Office. Il est recommandé de lire les » considérations pour les automatismes côté serveur pour Office pour plus d'informations sur les comportements généraux.