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

       

Регистрация Приложения


Прикладные названия сохранены с расширенными данными каждого примитива, который использует их и в APPID таблице. Приложение должно регистрировать имя или называть, это использует. В ObjectARX, это сделано запросом к acdbRegApp (). AcdbRegApp () функция определяет строку, чтобы использовать как прикладное имя. Это возвращает RTNORM, если это может успешно добавлять имя к APPID; иначе, это возвращает RTERROR. Результат RTERROR обычно указывает, что имя - уже в таблице идентификаторов. Это - не фактическое состояние ошибки, а обычно ожидаемое возвращаемое значение, потому что прикладное имя должно быть зарегистрировано только однажды в рисунок.

Чтобы регистрировать себя, приложение должно сначала проверить, чтобы его имя было уже не в APPID таблице, потому что acdbRegApp () должен быть вызван только однажды в рисунок. Если имя не там, приложение должно регистрировать это; иначе, это может идти вперед и использовать данные.

Следующий типовой кодовый фрагмент показывает типичному использованию acdbRegApp ().

#define APPNAME "Local_Operation_App_3-2"

struct resbuf *rbp;

static char *local_appname = APPNAME;

// The static declaration prevents a copy being made of the string

// every time it’s referenced.

.

.

.

if ((rbp = acdbTblSearch("APPID", local_appname, 0)) == NULL) {

if (acdbRegApp(APPNAME) != RTNORM) { // Some other

// problem

acutPrintf("Can’t register XDATA for %s.",

local_appname);

return BAD;

}

} else {

acutRelRb(rbp);

}



Содержание раздела