Добавляет объекту новое свойство.

Object.AddProperty(cPropertyName [, eNewValue [, nVisibility [, cDescription]]])

Параметры

cPropertyName

Указывает имя нового свойства, добавляемого объекту.

eNewValue

Указывает значение, в которое будет установлено новое свойство. Если eNewValue опущено, значение свойства остается неизменным, если одноименное свойство уже существует о объекта, или устанавливается в False (.F.) для случая, если новое свойство успешно добавлено в объект.

nVisibility

Указывает область видимости нового свойство. Доступно для использования в design-time, однко, значение 1 может быть указано в runtime.

nVisibility Область видимости

1

Public

2

Protected

3

Hidden

cDescription

Указывает описание нового свойства. Доступно только в design-time.

Описание свойства ограничено 255 символами.

Expand imageВозвращаемое значение

Логический тип данных

Expand imageПримечания

Применяется к: CheckBox Control | Collection Class | Column Object | ComboBox Control | CommandButton Control | CommandGroup Control | Container Object | Control Object | Cursor Object | CursorAdapter Class | Custom | DataEnvironment Object | EditBox Control | Exception Class | Form Object | FormSet Object | Grid Control | Header Object | Image Control | Label Control | Line Control | ListBox Control | OLE Bound Control | OLE Container Control | OptionButton Control | OptionGroup Control | Page Object | PageFrame Control | ProjectHook Object | Relation Object | ReportListener Object | _SCREEN | Separator Object | Session Object | Shape Control | Spinner Control | TextBox Control | Timer Control | ToolBar Object

Метод AddProperty( ) позволяет вас вводить в объект новые свойства в run time. Новое свойство в этом случае добавляется с областью видимости PUBLIC.

Вы можете, кроме того, создать для объекта свойство-массив. Каждый элемент в свойстве-массиве инициализируется в значение, указанное в eNewValue если оно включено; в противном случае, каждый элемент массива будет содержать False (.F.). Приведенный ниже пример демонстрирует способ создания для объекта свойства-массива:

  CopyCode imageСкопировать код
oMyForm = CREATEOBJECT('Form')
oMyForm.AddProperty('MyArray(2)', 1)  && Добавляет массив как свойство
oMyForm.MyArray(2) = 'Two'
CLEAR
? oMyForm.MyArray(1)  && Отображает 1
? oMyForm.MyArray(2)  && Отображает Two

Если свойство с указанным вами именем еще не существует, то оно будет создано и метод вернет True (.T.).

Если свойство с одноименным именем уже существует, тогда метод AddProperty( ) возвратит приведенное ниже:

  • True (.T.) если новое свойство является свойством-массивом и уже существующее свойство тоже является массивом. Размер массива изменяется в указанный при вызове метода. Если вы для eNewValue указали какое-то значение, то все элементы массива будут установлены в это значение. Если же вы опустили в вызове eNewValue, то все элементы массива будут установлены в False (.F.).

  • True (.T.) если вновь вводимое свойство не является массивом а уже существующее представляет собой массив. В этом случае, свойство останется массивом Если вы для eNewValue указали какое-то значение, то все элементы массива будут установлены в это значение. Если же вы опустили в вызове eNewValue, то все элементы массива останутся неизмененными.

  • True (.T.) если оба, и вновь вводимое свойство, и существующее не являются массивами или не являются родными свойствами Visual FoxPro маркированными "только для чтения". Если вы для eNewValue указали какое-то значение, то существующее свойство устанавливается в это значение. Если вы опустили eNewValue, то существующее свойство остается неизменным.

  • False (.F.) если новое свойство является свойством-массивом, а существующее таковым не является. Существующее свойство останется неизмененным.

  • Если существующее свойство маркировано как "только для чтения" и является родным свойством Visual FoxPro, таким как BaseClass, то будет сгенерирована ошибка "Property <PropertyName> is read-only".

  • При использовании недействительного имени (имя свойства содержит пробелы или недопустимые символы) будет генерироваться ошибка "Incorrect property name".

Метод AddProperty( ) работает только с некоторыми родными объектами Visual FoxPro. Вы можете использовать функцию ADDPROPERTY( ) для добавления свойств любым объектам, с которыми работает Visual FoxPro, таким как COM объекты или объекты созданные командой SCATTER...NAME. Для получения более подробной информации смотрите описание функции ADDPROPERTY().

Expand image Смотрите также