addproperty 方法

应用于 请参阅

向一个对象添加一个新属性。

语法

Object.AddProperty(cPropertyName [,eNewValue])

返值类型

逻辑值

参数描述

cPropertyName

指定要添加到对象中的新属性的名称。

eNewValue

指定新属性的设置值。如果省略 eNewValue,如果该属性已经存在,或者新属性设置为“假”(.F.),则新属性的值不变。

说明

AddProperty()方法允许您在设计时将一个属性添加到一个对象。新属性添加为一个PUBLIC属性。如果该属性成功添加到对象中,AddProperty()返回一个逻辑值“真” (.T.);否则返回一个逻辑值“假”(.F.)。如果尝试添加的属性已经存在,会产生一个错误。

下例将演示如何给一个对象添加属性。

oMyForm = CREATEObject('Form')

oMyForm.AddProperty('MyArray(2)',1) && 增加一个数组属性

oMyForm.MyArray(2) = 'Two'

CLEAR

? oMyForm.MyArray(1) &&显示 1

? oMyForm.MyArray(2) &&显示 2

如果所指定的属性名称不存在,将创建这个属性,并将返回一个逻辑真值(.T.)。如果所指定的属性名称已经存在,将返回一个如下值:

真(.T.)。如果新属性为数组属性并且现有的属性也是数组属性。数组的大小将重新设置为新数组的大小。如果用eNewValue指定了值,数组中的所有元素都设置为该值。如果省略了eNewValue,所有的数组元素都设置为假( F )。

(.T.)。如果新属性不是数组属性并且现有的属性是数组属性,属性将保留为数组属性。如果用eNewVValue指定了值,数组中的所有元素都设置为该值。如果省略了eNewValue,数组元素保持不变。

真(.T.)。如果新属性不是数组属性并且现有的属性也不是数组属性或只读的VisualFoxPro本地属性。如果用eNewValue指定了值,现有的属性都设置为该值。如果省略了eNewVValue,现有的属性值保持不变。

假( F )。如果新属性是数组属性并且现有的属性不是数组属性。现有的属性保持不变。

l 如果现有的属性是只读的 Visual FoxPro本地属性,例如BaseClass属性时,将出现“属性”是只读的错误信息。

如果属性名称是无效的(属性名称包括了空格或其他非法字符),将出现“不正确的属性名称”的错误信息。