atl project что это

Основы COM-объектов ATL

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

На этой схеме показано, что CComObject является производным от, CYourClass CComAggObject а и CComPolyObject включается в CYourClass качестве переменной-члена.

Поскольку клиенту не нужно проходить через внешний объект для взаимодействия с внутренним объектом, агрегированные объекты обычно более эффективны. Кроме того, внешнему объекту не требуется знание функциональных возможностей агрегированного объекта, учитывая, что интерфейс агрегированного объекта напрямую доступен клиенту. Однако не все объекты могут быть объединены. Для агрегирования объекта его необходимо разработать с учетом статистической обработки.

ATL реализует IUnknown в два этапа:

Другие аспекты COM-объекта ATL обрабатываются другими классами:

CComCoClass определяет фабрику класса по умолчанию и статистическую модель объекта.

IDispatchImpl предоставляет реализацию по умолчанию IDispatch Interface части любых сдвоенных интерфейсов объекта.

ISupportErrorInfoImpl реализует ISupportErrorInfo интерфейс, который гарантирует, что сведения об ошибках могут быть распространены в цепочке вызовов правильно.

в этом разделе

Поддержка IDispatch и IErrorInfo
Список классов реализации ATL, используемых для поддержки IDispatch IErrorInfo интерфейсов и.

Поддержка IDispEventImpl
Описание действий по реализации точки подключения для класса.

Изменение фабрики классов по умолчанию и статистической модели
Показывает, какие макросы следует использовать для изменения фабрики класса по умолчанию и модели агрегирования.

Создание агрегированного объекта
Содержит инструкции по созданию агрегированного объекта.

Связанные разделы

Создание проекта ATL
Содержит сведения о создании COM-объекта ATL.

ATL
Ссылки на разделы о программировании с использованием библиотеки ATL.

Источник

Создание проекта (учебник ATL, часть 1)

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

В этом руководстве создается тот же исходный код, что и в примере многоугольника. Если вы не хотите вводить исходный код вручную, можно скачать его с помощью примера «многоугольник». Затем можно ссылаться на исходный код многоугольника по мере работы с руководством или использовать его для проверки ошибок в вашем проекте. для компиляции откройте pch. h (stdafx. h в Visual Studio 2017 и более ранних версиях) и замените:

Компилятор по-прежнему будет сообщать о regsvr32 неправильном выходе, но все равно следует иметь встроенную и доступную библиотеку DLL элемента управления.

создание исходного проекта ATL с помощью мастера Project atl

в Visual Studio 2017 и более ранних версий: файл > New > Project. Откройте вкладку Visual C++ и выберите MFC/ATL. Выберите Project ATL.

Читайте также:  какой краской красить деревянный потолок в доме

в Visual Studio 2019: выберите файл > создать > Project, введите «atl» в поле поиска и выберите atl Project.

Расположение исходного кода обычно будет по умолчанию \Users \ \саурце\репос, а новая папка будет создана автоматически.

В Обозреватель решений щелкните правой кнопкой мыши Polygon проект.

В контекстном меню выберите пункт Свойства.

Щелкните Компоновщик. Измените значение параметра per-усерредиректион на Да.

Нажмите кнопку ОК.

На следующем шаге в проект будет добавлен элемент управления.

Источник

Основные понятия активной библиотеки шаблонных классов (ATL)

Библиотека шаблонных классов ATL — это набор классов C++, которые позволяют создавать небольшие и быстрые объекты модели COM. Он имеет специальную поддержку для основных компонентов модели COM, включая стандартные реализации, сдвоенные интерфейсы, стандартные интерфейсы перечислителя COM, точки подключения, перемещаемые интерфейсы и элементы управления ActiveX.

в этом разделе

Введение в модель COM и ATL
Объясняет основные понятия модели COM. В этой статье также приводится краткое описание библиотеки ATL и вариантов ее использования.

Основы COM-объектов ATL
Описание отношений между различными классами ATL и реализации этих классов.

Сдвоенные интерфейсы и ATL
Описание сдвоенных интерфейсов с точки зрения ATL.

Коллекции и перечислители ATL
Описание реализации и создания коллекций и перечислителей в ATL.

Основные сведения о составном элементе управления
Содержит пошаговые инструкции для создания составного элемента управления. Составной элемент управления — это тип элемента управления ActiveX, который может содержать другие элементы управления ActiveX или элементы управления Windows.

Вложение элемента управления ATL: вопросы и ответы
Рассматриваются основные вопросы, связанные с размещением элементов управления с помощью ATL.

Страницы свойств ATL COM
Описывается, как указывать и реализовывать страницы свойств COM.

Поддержка ATL для элементов управления DHTML
Содержит пошаговые инструкции для создания элемента управления DHTML.

Точки подключения ATL
Описание точек подключения и их реализации библиотекой ATL.

Обработка событий и ATL
Описание действий, которые необходимо выполнить для обработки событий COM с помощью классов библиотеки ATL IDispEventImpl и IDispEventSimpleImpl.

ATL и бесплатный потоковый модуль упаковки
Содержит сведения о параметре мастера простых объектов ATL, который позволяет классу вычислять упаковщик в режиме свободного потока (FTM).

Указание потоковой модели проекта
Описывает макросы, доступные для контроля производительности в среде выполнения в связи с потоками в проекте.

Читайте также:  какой котел лучше для отопления газовый или электрический

Классы модулей ATL
Описывает новые классы модуля в ATL 7.0. Классы модуля реализуют базовые возможности, необходимые для библиотеки ATL.

Службы ATL
Описывает последовательность событий, возникающих при реализации службы. Также рассказывает о некоторых понятиях, связанных с разработкой службы.

Классы окон ATL
Описывает способы создания и настройки суперкласса и подкласса окон в ATL. Классы окон ATL не совпадают с классами COM.

Классы коллекций ATL
Описывает, как использовать массивы и схемы в ATL.

Компонент реестра ATL (регистратор)
Описывает синтаксис и заменяемые параметры в скрипте ATL. Также описывает настройку статической ссылки на регистратор.

Программирование с помощью ATL и кода Run-Time C
Описывает преимущества статического или динамического связывания в библиотеке среды выполнения C (CRT).

Справочник по кодировке
Описывает функции и макросы, которые поддерживают кодирование в различных распространенных стандартах Интернета, например uuencode, шестнадцатеричная кодировка и UTF8 в atlenc.h.

Справочник по служебным программам
Предоставляет код для управления путями и URL-адресами в форме CPathT и CUrl. Пул потоков CThreadPool можно использовать в собственных приложениях. Этот код можно найти в файлах atlpath.h и atlutil.h.

Связанные разделы

Учебник по ATL
Описывает создание элементов управления и демонстрирует некоторые основные сведения об ATL в процессе.

Примеры ATL
Предоставляет описания и ссылки на примеры программ ATL.

Создание проекта ATL
Содержит сведения о мастере проектов ATL.

Атрибутивное программирование
Общие сведения об использовании атрибутов для упрощения программирования с моделью COM, а также ссылки на более подробные разделы.

Общие сведения о классе ATL
Предоставляет справочные сведения и ссылки на классы ATL.

Источник

Добавление объектов и элементов управления в проект ATL

Мастер компонентов ATL COM+ 1.0, мастер объекта-получателя ATL OLE DB и мастер компонентов ASP ATL недоступны в Visual Studio 2019 и более поздних версий.

Вы можете использовать один из мастеров кода ATL, чтобы добавить объект или элемент управления в проекты на основе ATL или MFC. Для каждого COM-объекта или элемента управления, который вы добавляете, мастер создает файлы CPP и H, а также RGS-файл для поддержки реестра на основе скрипта. Следующие мастера кода ATL доступны в Visual Studio.

Прежде чем добавить объект ATL в проект, изучите сведения и требования для объекта в соответствующих разделах справки.

Добавление объекта или элемента управления с помощью мастера управления ATL

Щелкните правой кнопкой мыши узел проекта в обозревателе решений и выберите в контекстном меню пункт Добавить. Нажмите Добавить класс.

Читайте также:  ревность какое это чувство

Откроется диалоговое окно Добавление класса.

Выберите папку ATL на панели Категории и выберите объект для вставки на панели Шаблоны. Нажмите кнопку Открыть. Откроется мастер кода для выбранного объекта.

Если вы хотите добавить объект ATL в проект MFC, необходимо добавить поддержку ATL в существующий проект. Это можно сделать, следуя инструкциям в разделе Добавление поддержки ATL в проект MFC.

Кроме того, если вы пытаетесь добавить объект ATL в проект MFC, не добавив предварительно поддержку ATL, Visual Studio предложит указать, хотите ли вы добавить поддержку ATL в проект. Нажмите Да, чтобы добавить поддержку ATL в проект, и откройте выбранный мастер ATL.

Источник

Параметры приложений, мастер проектов ATL

страница Параметры приложений мастера Project atl используется для проектирования и добавления основных функций в новый проект ATL.

Тип сервера

Выберите один из трех типов серверов:

Библиотека динамической компоновки (DLL)

Выберите, чтобы создать внутрипроцессный сервер.

Исполняемый файл (EXE)

Выберите, чтобы создать локальный сервер вне процесса. Этот параметр не разрешает поддержку MFC или COM+ 1,0. Это не позволяет объединять код заглушки или прокси-сервера.

Служба (EXE)

выберите, чтобы создать Windowsное приложение, которое выполняется в фоновом режиме при Windows запуске. Этот параметр не допускает поддержку MFC или COM+ 1,0 или не позволяет объединять код прокси или заглушки.

Дополнительные параметры

Все дополнительные параметры доступны только для проектов DLL.

Разрешить слияние кода прокси или заглушки

Установите флажок Разрешить слияние кода прокси/заглушки для удобства при необходимости упаковки интерфейсов. Этот параметр помещает прокси-сервер и код заглушки, созданные MIDL, в тот же исполняемый файл, что и сервер.

Поддержка MFC

Выберите, чтобы указать, что объект включает поддержку MFC. Этот параметр связывает проект с библиотеками MFC, чтобы можно было обращаться к любым классам и функциям, которые они содержат.

Поддержка COM+ 1,0

Выберите, чтобы изменить параметры сборки проекта для поддержки компонентов COM+ 1,0. Помимо стандартного списка библиотек, мастер добавляет библиотеку комсвкс. lib для конкретного компонента COM+ 1,0.

Кроме того, mtxex.dll загружается в систему узла при запуске приложения.

Регистратор компонентов поддержки

Если проект ATL содержит поддержку компонентов COM+ 1,0, этот параметр можно задать. Регистратор компонентов позволяет объекту COM+ 1,0 получать список компонентов, регистрировать компоненты или отменять регистрацию компонентов (по отдельности или все одновременно).

Источник

Сказочный портал