Создание СОМ-компонентов средствами ATL. Применение ATL

   
На этом шаге мы рассмотрим особености применения ATL.

   
ActiveX Template Library (ATL) - это набор шаблонных классов C++, облегчающих создание производительных СОМ-компонентов
Он поддерживает ключевые возможности СОМ, в том числе интерфейсы IUnknown и IDispatch и
двойные интерфейсы. ATL также используют для создания элементов управления на базе ActiveX.
С его помощью создают СОМ-объекты, поддерживающие как однопоточную модель так и модели
разделенных и свободных потоков.

   
Кроме ATL в Microsoft Visual Studio имеются мастера, упрощающие использование ATL в
качестве основы разработки каркаса приложения.

   
При создании СОМ-объектов значительную часть исходного текста можно создать на основе кода шаблонов.
Наличие ATL повышает гибкость среды Visual Studio, что необходимо при создании СОМ-объектов.
Мастера ATL генерируют стандартный код, предоставляя Вам возможность сосредоточиться на специальных
методах, реализующих те функции, для которых и предназначен Ваш СОМ-объект.

   
Код, сгенерированный мастерами ATL, базируется на основной наборе шаблонных классов и макросов ATL.
Шаблоны ATL (в отличие от сложной структуры наследования в MFC) позволяют разрабатывать
быстрый, компактный код, вполне пригодный для создав компонентов и управляющих элементов.

   
В ATL СОМ-объект создается в следующей последовательности.

  • Средствами мастера ATL COM AppWizard генерируется проект ATL COM. Тип проекта
    определяет вид создаваемого СОМ-сервера (встраиваемый в процесс или внешний), который будет предоставлять услуги Вашим СОМ-объектам.
  • С помощью ATL Object Wizard формируется новый ATL-объект.
  • В мастере Add Method to Interface Wizard задаются методы объекта.
  • В мастере Add Properties to Interface Wizard настраиваются свойства объекта.
  • Пишется код методов объекта.
  •    
    Именно в такой последовательности мы создадим простой СОМ-объект на базе ATL, предоставляющий услуги шифрования.
    Он называется Encoder и поддерживает всего лишь один интерфейс IEncoder с единственным методом
    EncodeString(). Этот метод шифрует и возвращает передаваемую ему строку, используя простой алгоритм,
    который заключается в увеличении или уменьшении значения каждого символа на заданную константу. Эта константа
    определяется как настраиваемое свойство Key.

       
    На следующем шаге мы рассмотрим создание проекта ATL COM.



    Вы можете оставить комментарий, или Трекбэк с вашего сайта.

    Оставить комментарий