OB Is defined
OB Is defined ( object {; property} ) : Boolean
Parameter | Type | Description | |
---|---|---|---|
object | Object, Object | → | Structured object |
property | Text | → | If passed = property to check, if omitted = check object |
Function result | Boolean | ← | If property omitted: True if object is defined, otherwise False. If property passed: True if property is defined, otherwise False |
Description
The OB Is defined command returns True if object or property is defined, and False otherwise.
object can be an object varialble or a 4D object field.
By default, if you omit the property parameter, the command checks whether the object is defined. An object is defined if its contents has been initialized.
Note: An object can be defined but empty. To find out if an object is undefined or empty, use the OB Is empty command.
If you pass the property parameter, the command checks whether this property exists in object. Note that the property parameter is case sensitive.
Example 1
Syntax testing the initialization of an object:
var $object : Object
$def:=OB Is defined($object) // $def=false since $object is not initialized
OB SET($object;"Name";"Martin")
OB REMOVE($object;"Name")
$def2:=OB Is defined($object) // $def2=true since $object is empty {} but has been initialized
Example 2
Test for existence of a property:
var $ref : Object
OB SET($ref;"name";"smith";"age";42)
//...
If(OB Is defined($ref;"age"))
//...
End if
This test is equivalent to:
If(OB Get type($Object;"name")#Is undefined)