Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
14
Добавлен:
13.03.2016
Размер:
321.02 Кб
Скачать

УДК 621.398

М-513

Утверждено учебным управлением МЭИ

Подготовлено на кафедре прикладной математики Рецензенты: докт. техн. наук, профессор А.Б.Фролов,

канд. техн. наук, доцент М.М. Маран

Меньшикова К.Г.

М-513 Разработка интегрированных прикладных программ: методическое пособие / К.Г. Меньшикова; под ред. А.М. Меньшикова. – М.: Издательство МЭИ, 2006.– 32 с.

Излагаются практические приемы создания сложных приложений на базе COM-технологии. COM предоставляет открытый унифицированный протокол связи программ, который поддерживает стандартный способ управления одной EXE-программы другой, разработку и использование универсальных управляющих элементов, создание сложных составных документов на базе OLE. Рассмотрены вопросы создания серверов и контейнеров OLE-автоматизации, управление офисными приложениями, создание управляющих элементов ActiveX, а также возможности VCL- библиотеки для создания сложных документов. Пособие ориентировано на инструментальные средства разработки программных средств фирмы Borland: С++Builder и Delphi.

Для студентов МЭИ, обучающихся по направлению «Прикладная математика и информатика». Может быть полезно студентам и аспирантам всех специальностей, занимающимся профессиональным созданием сложных Windows-приложений.

_______________________

Учебное издание

Меньшикова Ксения Георгиевна

Разработка интегрированных прикладных программ

Методическое пособие по курсу «Проектирование программного обеспечения автоматизированных систем» для студентов, обучающихся по направлению «Прикладная математика и информатика»

Редактор издательства Г.Ф. Раджабова

Темплан издания МЭИ 2005, метод. Подписано к печати

Формат 60x84/16 Печать офсетная Печ.л. 2,0

Тираж 100 экз. Изд. № 121 Заказ

Издательство МЭИ, 111250, Москва, Красноказарменная, д. 14

Отпечатоно в типографии НИИ «Геодезия», 141292, Московская обл., г. Красноармейск, просп. Испытателей, д. 14

© Московский энергетический институт

(технический университет), 2006

Введение

Пособие посвящено разработке сложных приложений на основе COM (Component Object Model – модель многокомпонентных объектов) -одной из базовых технологий Windows. В настоящее время профессиональное программирование требует ее обязательного знания и применения. Основная цель технологии – взаимодействие различных приложений путем экспорта объектов. Можно сказать, что COM обеспечивает новую модульную архитектуру программного обеспечения [2].

Поскольку программные коды пишутся различными разработчиками в разное время, запускаются в разных адресных пространствах и даже на разных компьютерах, то COM – это, прежде всего, система требований к архитектуре программных приложений. Она определяет стандартный механизм, с помощью которого одна часть программного обеспечения предоставляет свои сервисы другой [4]. Чтобы это стало возможно, в любой системе, поддерживающей модель COM, должна иметься библиотека базовых функций, обеспечивающая процесс общения объектов и их клиентов (создание и поиск требуемых объектов, управление памятью, передача данных и т.д). Доступ к функциям библиотеки осуществляется обычным образом.

В настоящее время спецификацией COM охвачены многие аспекты взаимодействия приложений, среди них унифицированный обмен данными, совместное хранение объектов в структурированных хранилищах, создание составных OLE-документов, удаленный доступ к серверам автоматизации, создание ASP-объектов и т.д. Настоящее пособие рассматривает только некоторые аспекты данной технологии и включает следующие разделы:

  • создание приложений-серверов и управляющих ими контроллеров (OLE-автоматизация);

  • управление офисными приложениями MS Word и Excel из других программ;

  • создание и использование управляющих элементов ActiveX;

  • внедрение и связывание OLE-объектов.

Для создания, отладки и тестирования рассматриваемых в пособии примеров использовались С++Builder 6, Delphi 6, MS Office (Word, Excel) 2000.

  1. COM-объекты и интерфейсы

“COM – это протокол, который соединяет один программный модуль с другим, а затем покидает сцену. После того, как связь установлена, модули могут взаимодействовать через механизм, называемый интерфейсом (interface)” [2]. Интерфейс – это основное понятие, на котором основана модель COM. Интерфейс включает описание методов и их параметров, но не включает в себя их реализацию. Интерфейсы имеют мнемонические имена, а также уникальные идентификаторы IID в виде GUID (глобальный уникальный идентификатор) – 16-байтное число, сгенерированное специальной утилитой.

Можно говорить о наследовании интерфейса; это подразумевает, что интерфейс-потомок включает в себя все методы предка. Базовым интерфейсом в модели COM является интерфейс IUnknown, все другие являются его потомками и должны реализовать объявленные в нем методы.

Каждый интерфейс однозначно определяется своим IID, имеет определенный список методов со своими параметрами. Применительно к COM разработчики программных продуктов должны строго придерживаться следующего принципа (правила постоянства интерфейсов): если интерфейс где-то опубликован и начал работать, то изменять его нельзя. Любое изменение функциональности требует создания нового интерфейса, естественно, с новым идентификатором.

Для лучшего понимания работы с интерфейсами обратимся к среде Delphi, расширившей синтаксис языка Pascal новыми управляющими словами для использования интерфейсов.