ВУЗ:
Составители:
Рубрика:
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 несущ еств ует
