SYS(1269) returns information about an object's properties. It provides two pieces of information about each—whether it's been changed from the default and whether it's read-only. Broken in VFP 3.0, it has been superseded in later versions by the preferable PEMStatus().
lPropertyHasAttribute = SYS( 1269, oObject, cProperty,
nAttribute )|
Parameter |
Value |
Meaning |
|
oObject |
Object |
The object whose properties are to be checked. |
|
cProperty |
Character |
The name of the property to check. |
|
nAttribute |
0 |
Has the property changed from its default value? |
|
1 |
Is the property read-only? |
SYS(1269) was a very late addition to VFP 3; in fact, it was added to the product so late that it didn't get into the docs. It didn't work so well in that version, either, but by 3.0b was performing as advertised. However, by that point, the facilities it offered were so clearly needed that they got incorporated in a real, mnemonically (well, almost mnemonically) named function—PEMStatus(). So, in practice, there's never any reason to use SYS(1269), except in VFP 3.0, where it doesn't work right. (Specifically, in that version, passing 1 for nAttribute always returns .F., whether or not the property is read-only.)
oForm = CreateObject('Form')
? SYS(1269, oForm, "Left", 0) && Returns .F.
oForm.Left = 50
? SYS(1269, oForm, "Left", 0) && Returns .T.
? SYS(1269, oForm, "BaseClass", 1) && Returns .T.
&& except in VFP 3.0