向一个对象添加一个新属性。
语法
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属性时,将出现“属性”是只读的错误信息。
如果属性名称是无效的(属性名称包括了空格或其他非法字符),将出现“不正确的属性名称”的错误信息。