- •Разработка интегрированных прикладных программ
- •Введение
- •Интерфейсы в Delphi
- •Присоединение интерфейсов к формам
- •Объекты com
- •Контроллер позднего связывания (Delphi)
- •Контроллер на основе библиотеки типов (Delphi)
- •Контоллер на vba
- •Управление офисными приложениями
- •Ms Excel и компоненты библиотеки vcl
- •Работа с ячейками таблицы
- •Серверы ms Office и позднее связывание
- •Работа с серверами из Delphi (позднее связывание)
- •Элементы управления ActiveX
- •Создание ActiveX на основе компонентов vcl
- •Тестирование ActiveX
- •Тестирование с использованием vba
- •Создание активных форм
- •Добавление свойств и методов
- •Динамическое создание элементов управления ActiveX
- •Компонент oleContainer
- •Создание и сохранение нового объекта (внедрение)
- •Создание связанного объекта
- •Работа с сервером
- •Библиографический список
- •Оглавление
УДК 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.
COM-объекты и интерфейсы
“COM – это протокол, который соединяет один программный модуль с другим, а затем покидает сцену. После того, как связь установлена, модули могут взаимодействовать через механизм, называемый интерфейсом (interface)” [2]. Интерфейс – это основное понятие, на котором основана модель COM. Интерфейс включает описание методов и их параметров, но не включает в себя их реализацию. Интерфейсы имеют мнемонические имена, а также уникальные идентификаторы IID в виде GUID (глобальный уникальный идентификатор) – 16-байтное число, сгенерированное специальной утилитой.
Можно говорить о наследовании интерфейса; это подразумевает, что интерфейс-потомок включает в себя все методы предка. Базовым интерфейсом в модели COM является интерфейс IUnknown, все другие являются его потомками и должны реализовать объявленные в нем методы.
Каждый интерфейс однозначно определяется своим IID, имеет определенный список методов со своими параметрами. Применительно к COM разработчики программных продуктов должны строго придерживаться следующего принципа (правила постоянства интерфейсов): если интерфейс где-то опубликован и начал работать, то изменять его нельзя. Любое изменение функциональности требует создания нового интерфейса, естественно, с новым идентификатором.
Для лучшего понимания работы с интерфейсами обратимся к среде Delphi, расширившей синтаксис языка Pascal новыми управляющими словами для использования интерфейсов.