Определить после операции считывания пользовательского свойства - статус его значения.

Статус может быть Null (пусто), Undefined (не присвоено) или Normal.

В любых обстоятельствах при выполнении операций считывания, даже при ошибках, возвращается хотя бы 0 или пустая строка.

О произошедших ошибках, например отсутствии такого свойства у элемента, операции считывания сообщают возвращаемым кодом операции - 0 - успешно, а отрицательное значение - ошибка.

Чтобы понять что свойство является Null или Undefined - требуется выполнить дополнительно эту команду.

Null и Undefined, т.е. 0 и 1 являются близкими и по сути отвечают смыслу Null.

Лучше ориентироваться на значение 2 - т.е. если параметр имеет нормально присвоенное значение - то свойство не Null.


Вызов:

int ires = ac_getupvaluestatus();


Здесь:

ires - Возвращаемое значение:

0 - было считано пустое значение (Null);

1 - значение свойству не было присвоено пользователем (Undefined);

2 - свойство имеет обычное нормальное значение (Normal);



Пример.


Считать свойство и понять оно имеет значение или оно Null.


ac_request_special("get_element_value", "UP", "Переменные водосточной системы\\Координаты элементов водосточной системы");
string svalue = ac_getstrvalue();
int ivalue = ac_getupvaluestatus();
if(ivalue == 2) {
   cout << "Свойство имеет нормальное значение";
}
else
{
   cout << "Свойство не имеет присвоенного значения или является Null";
}