Skip to main content
Version: Next

OB Is defined

OB Is defined ( object {; property} ) -> Function result

ParameterTypeDescription
objectObject, Object Field🡒Structured object
propertyText🡒If passed = property to check, if omitted = check object
Function resultBoolean🡐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 must have been created using the C_OBJECT command or designate 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)

See also

OB Is empty