com_get_active_object
(PHP 5, PHP 7)
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.