RefCount

From SunFlurry wiki
Jump to: navigation, search
  RefCount (Функции отладки)
Объект:Функции общего назначения
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Визуальность:Нет

Функция возвращает значение счетчика внешних ссылок сложного объекта, либо -1, если аргумент не является сложным объектом. Функция может использоваться для отладки, либо в случаях, когда в объекте присутствуют ссылки на самого себя (см. Объекты и Table.SelfReferenceCount).

Синтаксис

RefCount(<Аргумент>):<Значения счетчика ссылок объекта (INT)>

Аргументы

  • <Аргумент> - Объект произвольного типа, однако, имеет смысл только использование сложных объектов.

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

Возвращает целое число -- значение счетчика ссылок объекта, для простых объектов возвращаемое значение равно -1.


Примеры

//Новый сложный объект присваивается переменной "а"
a:=List.Create();
//Возвращает 1 (объект присвоен одной переменной)
Message(RefCount(a));
//Создается еще один список, двумя элементами которого являются ссылки на первый список ("a")
b:=List.Create(a,a);
//Возвращает 3 (объект присвоен одной переменной и хранится в двух элементах списка)
Message(RefCount(a));
//Переменной присваивается новое значение
a:=1;
//Возвращает 2 (объект хранится в двух элементах списка)
Message(RefCount(b.Get(1)));
//Все ссылки на объект удалены, сам объект также удаляется из системы.
b.Clear();