Создает объект на основе определения класса или на основе средств автоматизации доступных OLE-приложений.
CREATEOBJECT(cClassName [, eParameter1, eParameter2, ...]) |
Параметры
- ClassName
- Задает класс или объект OLE, на основе которого будет создаваться новый объект. Visual FoxPro будет искать класс или объект OLE в следующем порядке:
- Среди базовых классов Visual FoxPro.
- Среди классов в текущей программе.
- Среди классов библиотек .VCX, открытых командой SET CLASSLIB.
- Среди классов в файлах процедур, открытых командой SET PROCEDURE.
- Среди классов в цепочке выполнения программ Visual FoxPro.
- В системном реестре (для объектов OLE), если SET OLEOBJECT установлена в ON (указывает, что Visual FoxPro просматривает реестр Windows Registry, когда объект найти не удается)
Скопировать код
ApplicationName.Class
Скопировать код
x = CREATEOBJECT('Excel.Sheet')
- Среди базовых классов Visual FoxPro.
- eParameter1, eParameter2, ...
- Эти необязательные параметры используются для передачи значений в процедуру обработки события Init данного класса. Событие Init выполняется при выдаче функции CREATEOBJECT( ) и позволяет инциализировать объект.
Возвращаемое значение
Object
Замечания
Используйте функцию CREATEOBJECT( ) для создания объекта на основе определения класса или на основе приложения, поддерживающего автоматизацию OLE, и присваивайте ссылку на объект переменной памяти или элементу массива.
Перед созданием объекта на основе класса, определенного пользователем, этот класс должен быть предварительно создан командой DEFINE CLASS или доступен в библиотеке визуальных классов .VCX, открытой командой SET CLASSLIB.
Чтобы присвоить ссылку на объект переменной памяти или элементу массива, используйте оператор = или STORE. Если назначенный переменной памяти или элементу массива объект освобождается, эта переменная памяти или элемент массива содержит значение .NULL. Для удаления переменной памяти или элемента массива из памяти используйте команду RELEASE.
Пример
В следующем примере на основе базового класса Form системы Visual FoxPro с помощью команд DEFINE CLASS и CREATEOBJECT() создаются два пользовательских класса: FormChild and FormGrandChild. Функция ACLASS() используется для создания массива gaNewarray
, содержащего имена классов, которые затем выводятся на экран.
![]() | |
---|---|
CLEAR * Verify current class library setting cCurClassLib=SET("CLASSLIB") IF LEN(ALLTRIM(cCurClassLib))=0 cCurClassLib="None" ENDIF WAIT WINDOW "Current class library is: " + cCurClassLib + CHR(13); + "Press any key to continue..." frmMyForm = CREATEOBJECT("FormGrandChild") * Create an array FOR nCount = 1 TO ACLASS(gaNewarray, frmMyForm) ? gaNewarray(nCount) && Display the names of the classes ENDFOR RELEASE frmMyForm * Create FormChild from FORM baseclass DEFINE CLASS FormChild AS FORM ENDDEFINE * Create FormGrandChild from user-defined FormChild class DEFINE CLASS FormGrandChild AS FormChild ENDDEFINE |
Смотрите также
Прочие ресурсы
_BROWSER System VariableCOMCLASSINFO( ) функция
CREATEOBJECTEX( ) функция
DEFINE CLASS команда
GETOBJECT( ) функция
NEWOBJECT( ) функция
RELEASE команда
SET CLASSLIB команда
SET OLEOBJECT команда
Функции
Справочное руководство по языку