Функция AINSTANCE()

Помещает экземпляры класса в массив переменных памяти и возвращает число занесенных в массив экземпляров.

Синтаксис:

AINSTANCE(ArrayName, cClassName)

Параметры:
ArrayName
Задает имя массива, в который помещаются экземпляры класса. Если задано имя несуществующего массива, Visual FoxPro автоматически создает такой массив. Если задано имя существующего массива, который не в состоянии вместить все экземпляры, Visual FoxPro автоматически увеличивает размер массива надлежащим образом. Если в массиве больше элементов, чем необходимо, Visual FoxPro укорачивает его. Если массив уже существует и функция AINSTANCE() возвращает 0, не найдя ни одного экземпляра, то массив не изменяется. Если массив не существует и функция AINSTANCE() возвращает 0, то массив не создается.
В массив заносятся только экземпляры класса, назначенные переменным памяти и элементам массива с помощью функции CREATEOBJECT().
cClassName
Задает имя базового класса Visual FoxPro или класса, определенного пользователем. В следующей таблице приведен список имен базовых классов Visual FoxPro, которые можно задавать в качестве cClassName.
Имена базовых классов

CheckBox	Label
Column		Line
ComboBox	ListBox
CommandButton	OLEControl
CommandGroup	OLEBoundControl
Container	OptionButton
Control		OptionGroup
Cursor		Page
Custom		PageFrame
DataEnvironment	Relation
EditBox		Separator
Form		Shape
FormSet		Spinner
Grid		TextBox
Header		Timer
Image		ToolBar

Результат:
Числовой

Пример:

* В следующем примере функция 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

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 17.11.2002