Создание проекта ATL с учетом событий

Создание проекта ATL с учетом событий

  1. Открыть Visual Studio 6.0 и выбрать пункт меню File|NEW для вывода панели диалога.
  1. Выбрать ATL COM AppWizard и задать поле Project Name SimpleAtlCom и нажать OK, чтобы принять установки проекта, на следующем шаге будет показана панель диалога
  1. Нажать Finish, чтобы принять установки проекта, эти два шага создадут пустой COM DLL проект.
  2. Затем выбрать в меню Insert пункт New ATL Object…, добавить объект  ATL к проекту

  1. Выбрать Simple Object и нажать Next, тогда появится панель свойств объекта.

  1. На закладке Names дать короткое имя, как SimpleObj, остальные поля на этой панели диалога установятся автоматически (но их можно поменять по желанию).

 

  1. На закладке Attributes
  • Для потоковой модели (Threading Model) выбрать установку по умолчанию Apartment, поскольку большинство приложений, использующих компоненты согласуется с этой моделью.
  • Затем для интерфейса (Interface) снова выбрать установку по умолчанию на Dual (этот интерфейс можно использовать в скриптовых языках)
  • Оставить установки по умолчанию и для Aggregation и Free Threaded Marshaler, поскольку они предназначены для более продвинутого использования
  • Поддержка ISupportErrorInfo предоставляет объемную текстовую информацию приложению клиента, которое будет использовать разрабатываемый интерфейс. Пока в этом нет необходимости, и нужно оставить этот блок контроля неотмеченным.
  • Последний блок контроля обеспечивает поддержку событий компонента через интерфейс IConnectionPoint, поэтому отметь этот блок контроля и нажать OK, чтобы добавить объект к проекту.
  1. В результате в проекте возникнет IDL файл (simpleAtlCom.idl), приведенный ниже.

 

import “oaidl.idl”;

import “ocidl.idl”;

     [

         object,

         uuid(2EBAAFF2-2C95-48B0-B7AB-4F29731699D4),

         dual,

         helpstring(«ISimpleObj Interface»),

         pointer_default(unique)

     ]

     interface ISimpleObj : IDispatch

     {

     };

 

[

     uuid(9355E51A-D0A3-46FE-A1DD-546BFD9D8128),

     version(1.0),

     helpstring(«SimpleAtlCom 1.0 Type Library»)

]

library SIMPLEATLCOMLib

{

     importlib(“stdole32.tlb”);

     importlib(“stdole2.tlb”);

 

     [

         uuid(E5D5A4E6-9F14-42AA-8018-D02CF6331C5E),

Комментарии к записи Создание проекта ATL с учетом событий отключены

Рубрика: Программирование

Обсуждение закрыто.