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


         

Списки и другие динамически размещенные данные - часть 2


return BAD;

}

if (rb->restype != RTSHORT) {

acutPrintf("\nDOIT called with %d type.", rb->restype);

acutPrintf("\nExpected a short integer.");

return BAD;

}

// Save the value in local variable.

ival = rb->resval.rint;

// Advance to the last argument.

rb = rb->rbnext;

if (rb == NULL) {

acutPrintf("\nDOIT: Insufficient number of arguments.");

return BAD;

}

if (rb->restype != RTREAL) {

acutPrintf("\nDOIT called with %d type.", rb->restype);

acutPrintf("\nExpected a real.");

return BAD;

}

// Save the value in local variable.

rval = rb->resval.rreal;

// Check that it was the last argument.

if (rb->rbnext != NULL) {

acutPrintf("\nDOIT: Too many arguments.");

return BAD;

}

// Operate on the three arguments.

. . .

return GOOD; // Indicate success

break;

case 1:

// Execute other functions.

. . .

}

}

ОБРАТИТЕ ВНИМАНИЕ, что этот пример исключителен в одном отношении: acedGetArgs () - единственная ObjectARX глобальная функция, которая возвращает список связей, который приложение должно явно не выпустить. Следующая секция описывает обычный путь управления памятью, необходимой для списков.




Содержание  Назад  Вперед