Макрокоманды Выполнения Класса
Чтобы осуществлять ваш заказной класс, используйте одну из этих трех макрокоманд в источнике file:
· ACRX_NO_CONS_DEFINE_MEMBERS(CLASS_NAME, PARENT_CLASS)
Использование для абстрактных классов и любых других классов, которые не должны быть instantiated.
· ACRX_CONS_DEFINE_MEMBERS(CLASS_NAME, PARENT_CLASS, VERNO)
Использование для переходных классов, которые могут быть instantiated, но не написано к файлу.
· ACRX_DXF_DEFINE_MEMBERS(CLASS_NAME, PARENT_CLASS, DWG_VERSION,\
MAINTENANCE_VERSION, PROXY_FLAGS, DXF_NAME, APP)
Использование для классов, которые могут быть записаны в, или читать от, DWG и DXF файлы.
Каждая из этих макрокоманд определяет следующее:
· объект описателя Класса
· функция инициализации Класса (см. “ Функция Инициализации Класса ” на странице 289)
· desc () функция для этого класса
· виртуальный isA () функция (унаследованный от AcRxObject) который этот заказной класс отменит
Для AsdkPoly, следующая строка расширяется до очень длинной одиночной линии кода:
ACRX_DXF_DEFINE_MEMBERS(AsdkPoly, AcDbCurve, AcDb::kDHL_CURRENT,\
AcDb::kMReleaseCurrent, 0, POLYGON, /*MSG0*/"AutoCAD");
Когда переформатировано к множественным строкам для ясности, строка напоминает это:
AcRxClass* AsdkPoly::desc()
{
if (AsdkPoly::gpDesc != 0)
return AsdkPoly::gpDesc;
return AsdkPoly::gpDesc =
(AcRxClass*)((AcRxDictionary*)acrxSysRegistry()->
at("ClassDictionary"))->at("AsdkPoly");
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий