Возвращение Значений к Функциям AutoLISP
ObjectARX обеспечивает набор функций, который позволяет возвращать значения в AutoLISP. Эти функции возвращения значения не имеют никаких копий AutoLISP. Следующая таблица суммирует эти функции.
Имя функции |
Результат | ||
AcedRetInt |
Целочисленное значение | ||
AcedRetReal |
Реальное значение | ||
AcedRetPoint |
Трехмерная точка | ||
AcedRetStr |
Строка | ||
AcedRetVal |
Значение пропускало “generically” в буфере результатов | ||
AcedRetName |
Примитив (RTENAME) или выбор устанавливает имя (RTPICKS) (см. главу 3 для подробной информации относительно наборов выбора и примитивов) | ||
AcedRetT |
AutoLISP оценивает t (истину) | ||
AcedRetNil |
AutoLISP оценивает ноль | ||
AcedRetVoid |
Пустое значение: AutoCAD не отображает результат | ||
AcedRetList |
Список буферов результатов, возвращенных AutoLISP |
Следующий пример показывает схему вызванной функции, когда приложение получает запрос kInvkSubrMsg. Это возвращает реальное значение AutoLISP.
Int dofun
()
{
Ads_real x
// Проверить{*отметить*} параметры, и ввести условия здесь.
// Вычислить значение x.
AcedRetReal (x);
return GOOD;
}
ОБРАТИТЕ ВНИМАНИЕ, что внешняя функция может делать больше чем один запрос к функциям возвращения значения по единственному запросу kInvkSubrMsg, но функция AutoLISP возвращает только значение последней вызванной функцией.