New shared object
New shared object {( propriedade ; valor {; propriedade2 ; valor2 ; ... ; propriedadeN ; valorN} )} -> Resultado
Parâmetro | Tipo | Descrição | |
---|---|---|---|
propriedade | Text | → | Nome de propriedade a criar |
valor | Text, Date, Boolean, Pointer, Number, Object | → | Valor da propriedade |
Resultado | Object | ← | Novo objeto compartido |
Descrição
O comando New shared object cria um novo objeto compartido vazio ou pré-preenchido e devolve sua referência. Para agregar ou editar uma propriedade a este objeto deve estar rodeado pela estrutura Use...End use, do contrário, se devolve um erro. Entretanto é possível ler uma propriedade fora de uma estrutura Use...End use.
Nota: para mais informação sobre objetos compartidos, consulte a página Objetos compartidos e Coleções compartidas.
Se não passar nenhum parâmetro, New shared object cria um objeto vazio e devolve sua referência. Deve assignar esta referência a uma variável 4D declarada com o comando C_OBJECT.
Nota: C_OBJECT declara uma variável de tipo Objeto mas não é criado um objeto.
Opcionalmente, pode preencher o novo objeto passando um ou vários pares de propriedade/valor como parâmetros:
- No parâmetro propriedade, passe a etiqueta da propriedad que se criará (até 255 caracteres). Lembre que o parâmetro de propriedade é sensível a maiúsculas e minúsculas
- .No parámetro valor, passe o valor que desejar definir para a propriedade. Os objetos compartidos só podem conter valores dos tipos abaixo:
- número (real, inteiro longo...) Os valores numéricos sempre são armazenados como reais.
- texto
- booleano
- data
- hora (armazenado como número de milissegundos - real)
- null
- objeto compartido(*)
- coleção compartida(*)
Nota: diferente dos objetos padrão (não compartidos), os objetos compartidos não são compatíveis com imagens, ponteiros e objetos ou coleções que não são compartidos.
(*) Quando agregar um objeto ou uma coleção compartido a um objeto compartido, compartem o mesmo identificador de bloqueio. Para saber mais sobre este ponto, consulte Identificador de bloqueio (Locking identifier).
Exemplo 1
Se quiser criar um novo objeto compartido pré-preenchido:
var $contact : Object
$contact:=New shared object("name";"Smith";"firstname";"John")
Exemplo 2
Se quiser criar e modificar um objeto compartido. A estrutura deve ser chamada para este objeto:
var $s_obj : Object
$s_obj:=New shared object("prop1";"alpha")
Use($s_obj)
$s_obj.prop1:="omega"
End use
Ver também
New object
New shared collection
Objetos compartidos e Coleções compartidas