Сообщений 8    Оценка 6 [+2/-0]         Оценить  
Система Orphus

Visual Studio 6. Искусство программирования

Автор: Алексей Коберниченко
Издательство: Москва, "Нолидж", 1999
255 страниц

Материал предоставил: Игорь Ткачёв
Найти в магазинах

Введение

О чем эта книга?
Небольшая аннотация
Для кого эта книга?
Содержание
Комментарии

Введение

О чем эта книга?

У вас никогда не возникало проблем с изменением своей программы и добавлением в нее новой функциональности? Вам хотелось бы расширять возможности своих приложений, а не переписывать их периодически? Вы хотите разделить свое приложение на независимые компоненты? Необходимо ускорить их разработку, упростить настройку, сделать более динамичными?

Вы настраиваете Web-узел или создаете Web-страницу? Вам нужны новые возможности в среде операционных систем Microsoft или офисных пакетов этой фирмы? Вам требуется обмениваться данными с приложениями сторонних поставщиков?

Если вы ответили "да" хотя бы на один из этих вопросов, то вам необходима модель компонентных объектов фирмы Microsoft, известная под названием COM (Component Object Model).

Эта книга посвящена программированию COM-объектов и ActiveX-элементов при помощи библиотеки ATL (Active Template Library) фирмы Microsoft. Библиотека представляет собой набор классов-шаблонов на языке C++, которые инкапсулируют типовые операции с COM-объектами. Библиотека поставляется в составе Microsoft Visual Studio версии 6.0. Выпущено много книг, в которых рассматривается программирование с использованием Microsoft Visual Studio. Есть и книги по созданию ActiveX-элементов при помощи библиотеки MFC. Но руководства по программированию на основе ATL фактически не существует. Его нет даже в составе документа-ции, поставляемой вместе с Visual Studio. Данная книга восполняет этот пробел.

Кроме библиотеки ATL среда программирования Microsoft Visual Studio предоставляет средства, упрощающие ее использование: мастер по созданию приложений с использованием ATL (ATL COM AppWizard) и мастер по добавлению в приложение классов на C++, созданных на основе ATL (ATL Object Wizard). В состав среды вхо-дят также несколько мастеров общего применения, позволяющих добавлять в интерфейсы и классы новые методы и свойства. Использование этих мастеров сводит большую часть программирования COM-объектов при помощи ATL к нескольким щелчкам мыши. Везде, где возможно, в книге приводятся примеры работы с этими мастерами, чтобы продемонстрировать, как Visual Studio облегчают процесс написания COM-объектов и ActiveX-элементов.

Небольшая аннотация

Первая глава книги является кратким описанием спецификации COM и библиотеки ATL. Представлено определение COM-интерфейса, описаны способы повторного использования COM-объектов, приведен обзор основных технологий на основе COM - автоматизации, составных документов, ActiveX и др. Для всех элементов спецификации указаны классы и макроопределения библиотеки ATL, используемые для их реализации.

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

В третьей главе рассмотрен процесс создания простых COM-объектов для использования на Web-страницах. Кроме того, исследованы особенности вызова методов COM-объектов из VBScript и JScript.

В четвертой главе описывается спецификация ActiveX-элементов и классы ATL для их реализации. Кратко представлен обзор элементов управления ActiveX, начиная с составных документов и заканчивая безоконными элементами и активными документами. Приведены примеры создания встраиваемых объектов, поддерживающих активизацию по месту и другие возможности.

Пятая глава посвящена созданию диалоговых окон с применением ATL. Диалоговые окна могут использоваться как в качестве контейнеров для ActiveX-элементов, так и в качестве основы для создания составных элементов (это ActiveX-элемент, содержащий другие ActiveX-элементы) или страниц свойств. Описаны средства, которые предоставляет ATL для поддержки всех этих возможностей.

В шестой главе описывается новая технология создания элементов управления ActiveX, которая заключается в размещении в объекте обозревателя Internet Explorer. Тогда содержимое объекта определяется тем URL, который задан обозревателю для отображения. Это позволяет создавать ActiveX-элементы с динамически меняющимся содержимым. Представлены возможности ATL по поддержке такой технологии.

В седьмой главе показаны возможности ATL по созданию объектов в исполняемых файлах, в том числе в сервисах Windows NT. Описаны проблемы, возникающие при создании COM-объектов в EXE-файлах, и рассмотрены пути их решения с помощью ATL.

В приложениях приведены особенности отладки COM-объектов, написанных с использованием ATL, описаны некоторые полезные классы общего применения, входящие в ATL, и даны советы по совместному использованию библиотек MFC и ATL в рамках одного проекта.

Для кого эта книга?

Книга предназначена для программистов-профессионалов, знакомых с языком C++ и имеющих общее представление о COM. Хотя в книге модель COM и шаблоны C++ описаны достаточно подробно, если представленного материала вам будет недостаточно, обратитесь к источникам, перечисленным в разделе "Литература".

Обычно программистов, особенно начинающих, которые желают создавать ActiveX-элементы при помощи ATL, отпугивает применение классов-шаблонов, поскольку мало кто использует их в своих программах. Я сам был в их числе, но, начав применять ATL, убедился в гибкости, простоте и мощи этой библиотеки, достигаемых благодаря шаблонам. Всем новичкам в разработке элементов управления ActiveX я рекомендую сразу начинать с библиотеки ATL, изучая COM лишь по мере необходимости.

Содержание

Глава 1. COM и ATL

Обзор
COM
ATL
Модели потоков
Создание и повторное использование объектов
Модули
Автоматизация
Исходящие интерфейсы
Составные документы
Элементы управления ActiveX
Окна
Вспомогательные классы

Глава 2. Создание объектов COM при помощи ATL

Создание проекта
Добавление объектов в проект
Objects
Controls
Miscellaneous
Data Access
Простой COM-объект
Добавление объекта в проект
Добавление свойств
Тестирование
Объект simp: подробности
Агрегирование
Добавление методов
Создание агрегированного объекта
Тестирование
Автоматизация
Устойчивость свойств
Структурированное хранилище
Специальный носитель свойств

Глава 3. Создание объектов COM для Internet

Простой объект для Internet Explorer
Безопасность использования объекта
Установка значений свойств объекта
Доступ к объекту из VBScript и JScript
Обработка ошибок в ATL
Основы программирования объектов для ASP
ASP: краткий обзор
Создание COM-объекта для ASP
Получение информации об IIS

Глава 4. Создание ActiveX-элементов

Составные документы
Унифицированная передача данных
Моникеры
Объекты и контейнеры
Активизация "по месту"
Состояния объекта
Выполнение команд пользователя
Пример встраиваемого объекта
Архитектура ActiveX-элементов
Свойства и методы
События
Связывание данных и исходящие интерфейсы
Поддержка ActiveX-элементов
Активные документы
Другие особенности ActiveX-элементов
Пример ActiveX-элемента

Глава 5. Диалоговые окна в ATL

Дополнение (add-in) к Microsoft Visual
Studio
Создание дополнения
Создание диалогового окна управления
проигрывателем CD
Обработка событий от элементов управления с
использованием ATL
Составной ActiveX-элемент
Страницы свойств
Создание
Реализация методов SetObjects и Apply
Использование

Глава 6. ActiveX-элементы на основе обозревателя Internet Explorer

Архитектура
Обзор
Использование
Пример DHTML-элемента
Создание
Обработка событий и их генерация
Доступ к внешнему объекту из HTML-кода
Недостатки
Диалоговые окна на основе HTML
Использование функции ShowHTMLDialog
Использование ATL

Глава 7. EXE-серверы и сервисы

Особенности EXE-серверов
Модели потоков
Инициализация и завершение EXE-сервера
Реализация EXE-сервера с использованием ATL
Класс CComAutoThreadModule
COM-сервер как сервис Windows NT
Особенности программирования сервисов
Реализация сервиса с использованием ATL
Регистрация в реестре

Приложение А. Особенности отладки ATL-объектов

Запуск отладчика
Трассировка

Приложение Б. Некоторые полезные классы

Класс CSimpleArray
Класс CSimpleMap
Класс CVirtualBuffer
Класс CSecurityDescriptor

Приложение В. MFC и AT

Добавление поддержки MFC в проект ATL EXE
Добавление поддержки MFC в проект ATL DLL
Добавление поддержки ATL в проект MFC EXE

Литература

Указатель

Комментарии

Игорь Ткачёв
Классная книжка, полностью соответствует тому, что написано в ведении. Полно исходных текстов с пояснениями. Содержит исчерпывающий материал по библиотеке ATL.
Пожалуй, только один недостаток - название абсолютно не соответствует содержанию.
    Сообщений 8    Оценка 6 [+2/-0]         Оценить