Интересности по COM, страница 4

2015-08-23СтудИзба

Описание файла

Документ из архива "Интересности по COM", который расположен в категории "". Всё это находится в предмете "проектирование программного обеспечения автоматизированных систем" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "проектирование по автоматизированных систем" в общих файлах.

Онлайн просмотр документа "Интересности по COM"

Текст 4 страницы из документа "Интересности по COM"

Рис. 5.4. Иллюстрация интерфейса IPersistantStorage

-Интерфейс IPersistFile

•Объект поддерживает IPersistFile, если его постоянные данные сохранены в обычном файле

-Интерфейс IpersistPropertyBag

•Клиент COM объекта может захотеть сохранить эти данные объекта

•Если объект поддерживает IPersistPropertyBag, он может сохранить свои постоянные данные в сумке с клиентно-обеспеченными свойствами

•Клиенты объекта, поддерживающего IPersistPropertyBag, должен выполнить интерфейсы IPropertyBag и ErrorLog

•Клиент, не объект, контролирует как и где свойства объектов сохранены

-Интерфейс IPersistMemoryInterface

•Объект, который поддерживает IPersistMemory может передавать свои постоянные данные клиенту в большую разделенную память


Рис. 5.6. Иллюстрация IPersistPropcrtyBag и связанных с ним интерфейсов


Рис. 5.7 Иллюстрация интерфейса IPersistMemory

Новые понятия и термины:

  • Постоянные данные объекта - информация о состоянии объекта, которая сохранена между созданиями экземпляра объекта

  • Имя корня памяти – это тоже самое, что название файла

Контрольные вопросы:

1.Что понимается под постоянством?

2. Структурная память для файлов

3. Контроль постоянства объекта

Литература:

1.David Chappell “Understanding Active X and OLE”.Microsoft Press, 1996

Тема 6. Моникеры

План

1. Что такое моникеры?

2. Асинхронный моникер

1. Что такое моникеры?

• Обозначение объектного образца требует определение его методов и данных

• Сам COM не предлагает способов обозначения образца объекта

Определение Моникера (Moniker

)

• Моникер обозначает специфический образец объекта

• Моникер это объект, который поддерживает интерфейс Imoniker

• Клиент может спросить moniker связать объект с именами moniker

• Моникер может делать все захочет, чтобы создать и инициализировать объект, который он назвал

• Моникеры может сильно облегчить жизнь клиента

-Пример сложных документов

• Вставленные данные документа сохранены в его файле контейнера

• Файл контейнера сохраняет только указатель на присоединенные данные документа

• Указатель – это moniker

•Что же действительно сохранено – это постоянные данные для moniker

Рис. 6.1. Использование Моникера


Рис. 6.2 Файл контейнера сохраняет постоянные данные для moniker, который обращается к присоединенному документу.

Пример базы данных

• База данных OLE обеспечивает доступ основанный на COM к различным видам данных

• Моникер может создать объект и затем инициализировать его с результатом из запроса к базе данных

Работа с Моникером

Классы Моникер

• Были определены различные стандарты классов moniker

• Постоянные данные файлового moniker –это название файла, пока постоянные данные элемента moniker строка символов

• Составной моникер ведет как контейнер упаковки других моникер

- Создание Моникер

• Объект – названия moniker могут обеспечить постоянные данные moniker

• Клиент может приобретать постоянные данные moniker многими другими путями

• Выполнение обеспечивается для стандартных классов moniker


Рис. 6.3. Пример постоянных данных для наиболее важных классов моникер.


Рис. 6.4. Составной moniker с указателями на его три компонентных моникер.

• Стандарт моникер– создает образец используя поставляемые в составе системы функций

• Библиотека функций не доступна для нестандартных классов moniker

- Пример соединения моникер

• Составной моникер обслуживает указатель на каждый из его компонентных моникер

• Клиент видит только компонентный моникер

• Компонентные морникер связываются справа налево

• Если объект уже запущен, связывание может быть более эффективным

• Запуск объектной таблицы позволяет моникер определить тот ли объект, чье имя запущено

• Если его цель не достигнута, то элементный moniker вызывает BindToObject на моникер слева

• моникер может использовать расширение имени файла, чтобы определить CLSID объекта

• Объект, называемый файловым moniker, должен поддерживать IPersistFile

• Элементные moniker полагаются на lOleltemContainer


Рис 6.5. Каждый моникер полагается на моникер слева, надеясь избежать выполнения большей работы , чем необходимо.


Рис. 6.6. Файловый и элементный моникер, инициализирующие свои объекты.

• Элементный moniker использует I0leItemContainer::GetObject чтобы создать и инициализировать целевой объект

• моникеры полезны с соединенными документами, но также имеет и более широкое применнение

• Связывающий контекст поддерживает разделенную информацию, используемую в процессе связывания

•Запущенная таблица объекта – это объект , который поддерживает интерфейс IRunningObjectTable

• Моникер может запросить запущенную таблицу объекта для объекта, который моникер назвал

- Интерфейс IMonikerInterface

• IMoniker –относительно сложный интерфейс

• IMoniker наследует от IpersistStream

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

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

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

3. Методы и события в ActiveX управление

- Методы

• Методы средства управления определяются в обычном dispinterface

• ActiveX управление обычно поддерживает библиотеку типов

-События

• Средство управления может отправить события в свой контейнер

• Событие это метод, который управление вызывает в свой контейнер

• Контейнер выполняет интерфейс для событий управления

• Контейнер строит свои интерфейсы событий динамически, полагаясь на библиотеку типов управления

• Управление может поддерживать IProvideEClassInfo2, чтобы дать контейнерный доступ к его библиотеке типов

• Контейнер использует соединения точек, чтобы передать указатель dispinterface события управлению

-Свойства

• К свойствам управления обращаются через dispinterface методы

• Страницы свойств обеспечивают стандартный способ, чтобы проверить и установить свойства управления

• Каждая страница свойств обрабатывается отдельным COM объектом

• Контейнер может также изучить изменения в свойствах

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5231
Авторов
на СтудИзбе
425
Средний доход
с одного платного файла
Обучение Подробнее