Использование ActiveX |
Средства использования внешних объектов в приложениях Атлантис позволяют:
использовать объекты реализующие архитектуру ActiveX;
управлять поведением объекта из VIP-приложения;
реализовывать обработчики событий на языке VIP;
отображать объекты в интерфейсах, написанных на языке VIP.
Контейнер располагает объект по всей своей площади, вызывая в обработчике события изменения размера функцию OleOnResized.
In-place activation производится при двойном щелчке мышью на объекте, либо автоматически при получении фокуса.
При открытии документа Excel или Word они вставляют в приложение свое меню и ToolBar. Поскольку работа с OLE объектом может вестись в модальном режиме, добавлять меню в главное окно не следует, а добавлять его в MDI окно также нецелесообразно. Для их показа создается отдельное SDI AlwaysOnTop окно (FrameSite) для меню и ToolBar'ов, заголовок которого берется из HostName по имени приложения-сервера и документа. При этом, однако modeless-окна (дополнительные ToolBar'ы, палитры) запускаемого объекта будут выведены в отдельные окна.
FrameSite прячется при деактивации объекта (при смене фокуса).
Поддержка технологии ActiveDoc включается флажком ooAllowActiveDoc при создании объекта.
Для совместимости с проектом "Сервер приложений" и сохранения возможности переносимости клиента на различные платформы необходимо соблюдение следующих требований со стороны прикладного программиста
- обязательное согласование состава и методики использования объектов с ОСП для минимизации проблем при разработке перспективной архитектуры.
- ограниченное использование обработки часто происходящих событий. таких как: мышиные события (особенно движение), изменение статусных строк, изменение данных в объектах ввода, изменение положения объекта.
Начиная с Атлантис 5.4.12 при работе в режиме html-клиента использование объектов ActiveX не поддерживается. При вызове любых функций работы с OLE из
возникает исключительное состояние ExOleNoDriver группы ExOle по причине "Использование объектов ActiveX в HTML не предусмотрено". Функция OleCreate в этом случае возвращает 0.Начиная с Атлантис 5.4.12 при работе в режиме html-клиента использование объектов ActiveX не поддерживается.
Функции для работы с объектами ActiveX