RefCount
Revision as of 09:58, 11 June 2019 by Admin (talk | contribs) (Created page with "{{infobox function |name=RefCount |object=Функции общего назначения |caption=Функции отладки |type=1 |status=2 |db=0 |visual=0}} {{Hea...")
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();