This is the legacy 4D documentation web site. Documentations are progressively being moved to developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
OB Is defined
|
OB Is defined ( object {; property} ) -> Function result | ||||||||
Parameter | Type | Description | ||||||
object | Object, Object Field |
![]() |
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 |
|||||
The OB Is defined command returns True if object or property is defined, and False otherwise.
object must have been created using the _O_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.
Syntax testing the initialization of an object:
C_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
Test for existence of a property:
C_OBJECT($ref)
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)
Product: 4D
Theme: Objects (Language)
Number:
1231
Created: 4D v14
Modified: 4D v15
4D Language Reference ( 4D v20 R7)