(PHP 5, PHP 7, PHP 8)
com_get_active_object — Вернуть дескриптор на уже запущенный экземпляр объекта COM
com_get_active_object() - это то же самое, что и создание нового экземпляра объекта com, за исключением того, что объект будет возвращён, если он уже запущен. Приложения OLE используют так называемую "Таблицу Запущенных Объектов
" для возможности запускать приложения единожды. Эта функция представляет обёртку над библиотечной COM-функцией GetActiveObject().
prog_id
prog_id
должен быть или ProgID или CLSID объекта, к которому вы хотите получить доступ (к примеру, Word.Application
).
codepage
Делает то же самое, что и в классе com.
Если запрошенный объект запущен, то он будет возвращён вашему скрипту как любой другой объект COM.
Есть множество причин, по которым эта функция может завершиться с ошибкой. Наиболее распространённая причина в том, что объект не запущен. В таком случае будет выброшено исключение MK_E_UNAVAILABLE
; вы можете использовать метод getCode
для проверки кода исключения.
Версия | Описание |
---|---|
8.0.0 | codepage теперь допускает значение null. |
Использование com_get_active_object() в контексте веб-сервера - это не самая умная идея. Большинство приложений COM/OLE спроектированы так, что не могут работать одновременно с несколькими пользователями, даже (или особенно) Microsoft Office. Больше полезной информации читайте в » Considerations for Server-Side Automation of Office.