Функция ACLASS()

Помещает в массив переменных памяти имя класса объекта, а также имена его родительских классов.

Синтаксис

ACLASS(ArrayName, oExpression)

Параметры
ArrayName
Задает имя массива, в который помещаются имена классов. Если задано имя несуществующего массива, Visual FoxPro автоматически создает такой массив. Если задано имя существующего массива, который не в состоянии вместить все имена родительских классов, Visual FoxPro автоматически увеличивает размер массива. Если в массиве больше элементов, чем необходимо, он укорачивается. Если задано имя существующего двумерного массива, он преобразуется в одномерный.
oExpression
Задает объект, имя класса и имена родительских классов которого следует поместить в массив. oExpression может быть любым выражением объекта, например ссылкой на объект, переменной памяти объекта или элементом массива объекта.

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

Комментарии
Функция ACLASS( ) создает одномерный массив, содержащий имя класса и имена родительских классов заданного объекта. Первый элемент массива содержит имя класса данного объекта, второй элемент имя класса-родителя этого объекта, третий имя класса-родителя родителя этого объекта и т.д.
Функция ACLASS( ) возвращает число имен классов в массиве. Если массив создать нельзя, ACLASS( ) возвращает 0.

Пример

* В следующем примере из базового класса Visual FoxPro с именем Form
* создаются два класса пользователя: FormChild и FormGrandChild. Функция
* ACLASS( ) используется для создания массива с именем gaNewarray,
* содержащего имена класса, которые затем отображаются.

CLEAR
frmMyForm = CREATEOBJECT("FormGrandChild")
FOR nCount = 1 TO ACLASS(gaNewarray, frmMyForm) 	&& Creates an array
	? gaNewarray(nCount)  && Displays the names of the classes
ENDFOR
RELEASE frmMyForm

DEFINE CLASS FormChild AS FORM
ENDDEFINE

DEFINE CLASS FormGrandChild AS FormChild
ENDDEFINE

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