ВУЗ:
Составители:
Рубрика:
3
В работе рассматриваются основополагающие вопросы технологии COM, ши-
роко применяющейся для разработки системного и прикладного программного
обеспечения, совместимого с операционными системами семейства Microsoft
Windows. Приводятся лабораторные работы и примеры программирования. По-
собие предназначено студентам 3 курса , изучающим дисциплину СППО , и мо-
жет быть использовано далее при изучении некоторых разделов курса «Базы
данных и экспертные системы» и дисциплин специализации, связанных с про -
граммированием информационных систем .
Разделы 1,2 написаны В . Г . Рудалевым, п.2.3, 2.4, раздел 3 – Ю .А .Крыжановской .
Содержание
1. Основные понятия …….…………….…………………………………………..3
1.1. Проблемы и термины COM … .………………………………………….…3
1.2. Интерфейсы …………………….……………………………………………5
1.3. Обращение к интерфейсам …….…………………………………………...8
1.4. IDispatch и автоматизация ……..…………………………………………...9
1.5. Реализация интерфейсов ……………………………….……………….…13
1.6. Маршаллинг …………………………………………….………………….14
1.7. Модели потоков ……………………………………………………………15
2. Примеры программирования ………………………………………………….15
2.1. Создание сервера и контроллера автоматизации ………………………..15
2.2. Внутренний сервер .………………………………………………………..24
2.3. Компоненты ActiveX .……………..……………………………………….28
2.4. Создание интерфейса событий .…………...……………………………....33
3. Задачи и упражнения .…………………………………………………………37
4. Глоссарий ………………………………………………………………………38
Литература ………………………….………………………………………………38
1. Основные понятия
1.1. Проблемы и термины COM
COM (Component Object Model), или модель объектных компонентов
1
– одна из
основных технологий, на которых базируется Windows. Огромное число эле-
ментов среды Windows (навигатор Internet Explorer, модули сжатия аудио- и
видеоинформации, элементы оболочки Shell, технологии доступа к базам дан-
ных и т.д. и т.п.) реализуют свои API в виде COM-интерфейсов . Поддержка
COM встроена в большинство коммерческих прикладных программных паке -
тов (раздел системного реестра HKEY_CLASSES_ROOT, в котором зарегист-
рирована информация, связанная с COM, как правило , является самым объем -
ным по сравнению с другими разделами ). Знание основ COM становится на -
сущно необходимым не только для программирования в операционной системе
Windows, но и для грамотного ее использования. Вопреки прогнозам, COM не
1
Устоявшегося перевода термина COM не существует
3 В работе рассматри в аю тся основ ополагаю щ и е в опросы технологи и COM, ш и - роко при меняю щ ей ся д ля раз работки си стемного и при клад ного программного обеспечени я, сов мести мого с операци онны ми си стемами семей ств а Microsoft Windows. При в од ятсялабораторны еработы и при меры программи ров ани я. По- соби епред наз начено студ ентам 3 курса, и з учаю щ и м д и сци пли ну СППО , и мо- ж ет бы ть и спольз ов ано д алее при и з учени и некоторы х раз д елов курса «Баз ы д анны х и экспертны е си стемы » и д и сци пли н специ али з аци и , св яз анны х с про- грамми ров ани ем и нформаци онны х си стем. Раз д елы 1,2 напи саны В .Г.Руд алев ы м, п.2.3, 2.4, раз д ел 3 –Ю .А .К ры ж анов ской . С о дер ж а н и е 1. О снов ны епоняти я… … .… … … … … .… … … … … … … … … … … … … … … … ..3 1.1.Проблемы и терми ны COM … .… … … … … … … … … … … … … … … … .… 3 1.2.И нтерфей сы … … … … … … … … .… … … … … … … … … … … … … … … … … 5 1.3.О бращ ени еки нтерфей сам … … .… … … … … … … … … … … … … … … … ...8 1.4.IDispatch и ав томати з аци я… … ..… … … … … … … … … … … … … … … … ...9 1.5.Реали з аци яи нтерфей сов … … … … … … … … … … … … .… … … … … … .… 13 1.6.М арш алли нг … … … … … … … … … … … … … … … … … .… … … … … … … .14 1.7.М од ели потоков … … … … … … … … … … … … … … … … … … … … … … … 15 2. При меры программи ров ани я… … … … … … … … … … … … … … … … … … … .15 2.1.Соз д ани есервера и контроллера ав томати з аци и … … … … … … … … … ..15 2.2.В нутренни й сервер.… … … … … … … … … … … … … … … … … … … … … ..24 2.3.К омпоненты ActiveX .… … … … … ..… … … … … … … … … … … … … … … .28 2.4.Соз д ани еи нтерфей са собы ти й .… … … … ...… … … … … … … … … … … ....33 3. Зад ачи и упраж нени я.… … … … … … … … … … … … … … … … … … … … … … 37 4. Глоссари й … … … … … … … … … … … … … … … … … … … … … … … … … … … 38 Л и тература … … … … … … … … … … .… … … … … … … … … … … … … … … … … … 38 1. О снов ны е поня т и я 1.1. П робле м ы и т е рм и ны COM COM (Component Object Model), и ли мод ель объектны х компонентов 1 –од на и з основ ны х технологи й , на которы х баз и руется Windows. О громное чи сло эле- ментов сред ы Windows (нав и гаторInternet Explorer, мод ули сж ати я ауд и о- и в и д еои нформаци и , элементы оболочки Shell, технологи и д оступа кбаз ам д ан- ны х и т.д . и т.п.) реали з ую т св ои API в в и д е COM-и нтерфей сов . Под д ерж ка COM в строена в больш и нств о коммерчески х при клад ны х программны х паке- тов (раз д ел си стемного реестра HKEY_CLASSES_ROOT, в котором з ареги ст- ри ров ана и нформаци я, св яз анная с COM, какправ и ло, яв ляется самы м объем- ны м по срав нени ю с д руги ми раз д елами ). Знани е основ COM станов и тся на- сущ но необход и мы м нетолько д ляпрограмми ров ани яв операци онной си стеме Windows, но и д ля грамотного ее и спольз ов ани я. В опреки прогноз ам, COM не 1 У стояв ш егосяперев од а терми на COM несущ еств ует