ObjectARX, AutoCAD. Среда программирования библиотеки C++


Создавать обертку Автоматизации для заказного объекта или примитива - часть 3


helpstring("AsdkSquareWrapper Class")

]

coclass AsdkSquareWrapper

{

[default] interface IAsdkSquareWrapper;

[source] interface IAcadObjectEvents;

};

};

 

11 После #include <Atlcom.h> в stdafx.h, включите acad15.h, сначала, сопровождаемый любыми необходимыми ObjectARX файлами заголовка.

12 в конце stdafx.cpp, включите acad15_i.c.

13, если приложение ARX и обертка COM объединено, добавьте следующий код к вашему главному CPP файл, и назовите это DllMain в AcRx:: kInitAppMsg и AcRx:: kUnloadAppMsg с соответствующими параметрами. Это инициализирует карту объекта ATL, среди других вещей:

extern "C" HINSTANCE _hdllInstance;

extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance,

DWORD dwReason,LPVOID /*lpReserved*/);

 

14 Добавляют желательные ActiveX методы, и свойства к вашему классу обертки выбором Добавляют Метод или Добавляют Свойство от подручного меню Интерфейса представления{*вида*} Класса.

 

15 Для любого ObjectARX обертываемого класса, перегрузите getClassId () функция для заказного объекта или примитива со следующим:

Acad::ErrorStatus

Class::getClassID(CLSID* pClsid) const

{

*pClsid = CLSID_WrapperClass;

return Acad::eOk;

}

16 В файле, который содержит,  перегрузка для getClassId (), добавляет:

#include <objbase.h>

#include <initguid.h>

#include

"library_i.c"            // Файл, содержащий фактические определения

// IIDs

и CLSIDS

для проекта COM.

17 Компоновки и регистр приложение согласно шагам в “ Формирование и Регистрация COM DLL. ”




Начало  Назад  Вперед



Книжный магазин