Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Интересности по COM.doc
Скачиваний:
34
Добавлен:
28.06.2014
Размер:
7.48 Mб
Скачать

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 управления это обычно внутри процессные серверы

• Средство управления может поддерживать внутренюю/ внешнюю активацию

• Код управления не загружен, пока он станет необходимым