(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.