Saltar para o conteúdo principal
Versão: Próximo

New shared object

New shared object {( propriedade ; valor {; propriedade2 ; valor2 ; ... ; propriedadeN ; valorN} )} -> Resultado

ParâmetroTipoDescrição
propriedadeTexto🡒Nome de propriedade a criar
valorTexto, Data, Booleano, Ponteiro, Número, Objeto🡒Valor da propriedade
ResultadoObjeto🡐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