Помещает экземпляры класса в массив переменных памяти и возвращает число занесенных в массив экземпляров.
AINSTANCE(ArrayName, cClassName) |
Параметры
- ArrayName
-
Задает имя массива, в который помещаются экземпляры класса. Если задано имя несуществующего массива, Visual FoxPro автоматически создает такой массив. Если задано имя существующего массива, который не в состоянии вместить все экземпляры, Visual FoxPro автоматически увеличивает размер массива надлежащим образом. Если в массиве больше элементов, чем необходимо, Visual FoxPro укорачивает его. Если массив уже существует и функция AINSTANCE( ) возвращает 0, не найдя ни одного экземпляра, то массив не изменяется. Если массив не существует и функция AINSTANCE( ) возвращает 0, то массив не создается.
В массив заносятся только экземпляры класса, назначенные переменным памяти и элементам массива с помощью функции CREATEOBJECT( ) или NEWOBJECT( ).
- cClassName
-
Задает имя базового класса Visual FoxPro или класса, определенного пользователем. Полный список базовых класов Visual FoxPro смотрите Базовые класы в Visual FoxPro.
Возвращаемое значение
Числовое
Пример
В следующем примере функция CREATEOBJECT( ) используется для создания двух экземпляров базового класса Form системы Visual FoxPro. Функция AINSTANCE( ) создает массив gaMyArray
, который содержит ссылки в виде переменных памяти (goINSTANCE1
и goINSTANCE2
) для каждого экземпляра формы. Затем содержимое массива выводится на экран.
![]() | |
---|---|
CLEAR ALL goINSTANCE1 = CREATEOBJECT('Form') goINSTANCE2 = CREATEOBJECT('Form') CLEAR ? AINSTANCE(gaMyArray, 'Form') && Returns 2, two form instances DISPLAY MEMORY LIKE gaMyArray && Displays the references |