(PHP 5, PHP 7)
com_get_active_object — Devuelve un gestor a una instancia de un objeto COM ya en ejecución
com_get_active_object() es similar a crear una nueva instancia de un objeto COM, excepto que sólo devolverá un objeto a su script si el objeto ya está en ejecución. Las aplicaciones OLE usan algo conocido como la "Tabla de Objetos en Ejecución" para permitir a las famosas aplicaciones que se lancen solo una vez; esta función expone la función de la biblioteca COM, GetActiveObject(), para obtener un gestor sobre una instancia en ejecución.
progid
progid
puede ser el ProgID o el CLSID del
objeto al que se quiere acceder (por ejemplo
Word.Application).
code_page
Actúa exactamente de la misma forma que lo hace la clase COM.
Si el objeto solicitado está ejecutándose será devuelto a su script al igual que otro objeto COM.
Existen diversas razones para que esta función pueda fallar, la más común
siendo que el objeto no está ejecutándose aún. En esta situación,
el código de error de excepción será MK_E_UNAVAILABLE
;
se puede usar el método getCode del objeto excepción
para comprobar el código de excepción.
Usar com_get_active_object() en un contexto de servidor web no es siempre una idea inteligente. La mayoría de las aplicaciones COM/OLE no están diseñadas para tratar más de un cliente al mismo tiempo, incluso (¡o especialmente!) Microsoft Office. Debería leer » Consideraciones para la Automatización del Lado del Servidor de Office para más información sobre los temas generales involucrados.