OB Is defined
OB Is defined ( objeto {; propriedade} ) : Boolean
Parâmetro | Tipo | Descrição | |
---|---|---|---|
objeto | Object, Campo Object | → | Objeto estruturado |
propriedade | Text | → | Se passar = propriedade a verificar, se omitir = verificar o objeto |
Resultado | Boolean | ← | Se a propriedade se omite: True se objeto está definido, caso contrário False. Se a propriedade passar: True se propriedade está definida, caso contrário False |
Descrição
O comandoOB Is defined devolve True se objeto ou propriedade se definem e False em caso contrário.
objeto deve ter sido criado com o comando C_OBJECT ou designar um campo objeto 4D..
Por padrão, se omitir o parâmetro propriedade, o comando comprova que objeto esteja definido. Um objeto está definido se seu conteúdo foi inicializado.
Nota: um objeto pode estar definido, porém vazio. Para saber se um objeto não está definido ou está vazio, utilize o comando OB Is empty.
Se passar o parâmetro propriedade, o comando comprova se existe esta propriedade em objeto. Tenha em conta que o parâmetro propriedade é sensível as maiúsculas e minúsculas.
Exemplo 1
Sintaxe provando a inicialização de um objeto:
var $object : Object
$def:=OB Is defined($object) // $def=false since $object não está incializado
OB SET($object;"Name";"Martin")
OB REMOVE($object;"Name")
$def2:=OB Is defined($object) // $def2=true já que $object está vazio {} mas foi inicializado
Exemplo 2
Prova da existência de uma propriedade:
var $ref : Object
OB SET($ref;"name";"smith";"age";42)
//...
If(OB Is defined($ref;"age"))
//...
End if
Esta prova é equivalente a:
If(OB Get type($Object;"name")#Is undefined)