- •Межобъектная Связь
- •Ташкент
- •Содержание
- •2. Com модель
- •3. Сложные документы
- •4. РаспределенныйCom
- •Тема 2. Модель компонентных объектов (com)
- •1. Описание сом объектов
- •2. Интерфейсы вCom
- •3. Создание com объектов
- •Тема 3. Пакование и информация типов
- •1. Что такое пакование На что действительно указывает указатель интерфейса
- •2. Информация типов
- •Тема 4. Автоматизация
- •1.Что понимается под автоматизацией
- •2. Дуальный интерфейс
- •Тема 5. Постоянство
- •1. Понимание постоянства
- •2. Структурная память для файлов
- •3. Контроль постоянства объекта
- •Тема 6. Моникеры
- •1. Что такое моникеры?
- •2. Асинхронный моникер
- •Тема 7.ActiveXуправление
- •1. Эволюция ActiveX управления
- •2. Три взгляда наActiveXуправление
- •3. Методы и события вActiveXуправление
- •Тема 8. Однородная передача данных и соединяемые объекты
- •1. Однородная передача данных
- •2. Соединение объектов
- •Тема 9. Распределенный сом
- •1. Создание удаленного объекта
- •2. Использование моникера в распределенномCom
- •3. Средства безопасного доступа для удаленных объектов
- •Тема 10. ActiveX, Internet, и World Wide Web
- •1.ActiveXдокументы
- •2.ActiveXдокументы иWeb
- •Тема 11. Введение в corba
- •1. Знакомство с набором спецификаций omg
- •2. Поддержка Анализа & Проектирования
- •3. Основы объектов
- •Что такое объект?
- •4. Corba Основы взаимодействия
- •5. Что такое orb
- •Список Литературы
- •Приложение а. Глоссарий
2. Асинхронный моникер
• Асинхронные moniker не заставляют своего клиента ждать, пока он начинает и инициализирует объект
• URL moniker это асинхронные monikers
• URL monikerможет загрузить данные объекта по частям, нежели целиком
- Как асинхронные моникеры работают
• Асинхронный клиент моникера выполняет IBindStatusCallback
• Асинхронный моникер посылает клиенту указатель к его интерфейсу IBinding
• Асинхронный моникер и его клиент связываются через методы в IBinding и IBindStatusCallback
• Асинхронный моникер информирует своего клиента, когда больше данных или весь объект являются доступными
- Интерфейс IPersistentMoniker
• Посредством поддержки IPersistentMoniker, объект может определить свои постоянные данные с моникер
• Обобщенный подход к наименованию
• Клиент может использовать одну или две библиотечные функции, чтобы направить общие символьные строки в моникеры
• Обе функции могут положиться на коде со специфическим именем, чтобы создать соответствующий моникер
• Новый из двух, MkParseDisplayName, принимает названия URL-стиля
• Эти функции обеспечивают единственную точку входа в любое виртуальное именованное пространство
Рис 6.7. Интерфейсы поддерживаются асинхронным моникером и его клиентом
Новые понятия и термины:
Моникер обозначает специфический образец объекта
Моникер это объект, который поддерживает интерфейс Imoniker
Контрольные вопросы:
1. Что такое моникеры?
2. Для чего необходимы моникеры?
3.Асинхронный моникер
Литература:
1.David Chappell “Understanding Active X and OLE”.Microsoft Press, 1996
Тема 7.ActiveXуправление
План
1. Эволюция ActiveX управления
2. Три взгляда на ActiveX управление
3. Методы и события в ActiveX управление
1. Эволюция ActiveX управления
• Полезно определить стандарты для компонентов
• ActiveX управление - программный компонент, который выполняет обычные задачи стандартными способами
• Любые виды контейнеров управления доступны
• Развитие управления AcriveX
• VBX - более ранняя технология компонентов, созданная для Visual Basic
• VBX был заменен OLE управлением
• OLE управления теперь называются ActiveX управлением
• Фактически нет никакого различия между ActiveX управлением и COM объектом
• Компонентные категории
• Управлениям первоначально давали регистрационное ключевое слово Control
• Управление может теперь использовать компонентные категории, чтобы определить его возможности и требования
• Компонентная категория может использоваться, чтобы идентифицировать любую совокупность функциональных возможностей
• Компонентная категория может также указывать какое управление требует контейнер
• CATID и CLSID не одно и тоже
2. Три взгляда наActiveXуправление
- Взгляд конечного пользователя
• Конечный пользователь не знает, ActiveX управление используется
• Контейнер управления и управление, которое он использует, напоминают одно приложение
- Взгляд разработчика приложения
• Разработчик приложения включает средство управления в контейнер управления
• Доступные контейнеры управления включают Visual Basic,web browsers и др.
• Широкое разнообразие ActiveX управления можно приобрести
• Организации также могут создавать свои собственные средства управления
• Во время проектирования, разработчик выбирает массив средств управления
• Разработчик устанавливает средство управления в форму
• Средство управления может иметь свойства
• Средство управления может также посылать события
• Контейнеры управления обычно позволяют разработчику прикреплять код к событиям
Sub SpinButtonl_SpinUp()
MsgBox("Up arrow clicked") End Sub
Sub SpinButtonl_SpinDown()
MsgBox("Down arrow clicked") End Sub
• Во время выполнения, управление может делать несколько действий в ответ на щелчок мыши
• ActiceX управление может быть очень простым или очень сложным
• Средства управления имеют методы
• Обычно более сложные средства управления предлагают более мощный набор методов
• Средство управления предлагает свои методы через dispinterfaces
-Точка зрения конструктора управления
• Разработчик имеет несколько выборов как построить управление
• Спецификация ActiveX управления определяет четыре главных аспекта Функциональных возможностей управления
• Как работает управление
- Интерфейсы для управления и для контейнеров управления
• Каждый контейнер управления должен выполнить некоторые интерфейсы
• Даже приложения, которые не являются контейнерами управления, могут использовать средства управления
• Контейнер управления должен функционировать правильно даже с простым средством управления
- Обеспечение пользовательского интерфейса
• Средство правления обеспечивает пользовательский интерфейс, используя
OLE внедрение и активизация на месте
• ActiveX управления это обычно внутри процессные серверы
• Средство управления может поддерживать внутренюю/ внешнюю активацию
• Код управления не загружен, пока он станет необходимым