Saltar para o conteúdo principal
Versão: 20 R7

New shared collection

New shared collection {( ...value : any )} : Collection

ParâmetroTipoDescrição
valueNumber, Text, Date, Time, Boolean, Object, CollectionValores da collection compartida
ResultadoCollectionNew shared collection

Descrição

O comando New shared collection cria uma nova coleção compartilhada vazia ou pré-preenchida e retorna sua referência. Collections can be handled using properties and functions of the Collection class API.

A adição de um elemento a esta coleção utilizando o operador de atribuição deve ser rodeada pela estrutura Use...End use, caso contrário é gerado um erro (isto não é necessário ao adicionar elementos utilizando funções como push() ou map() porque estes ativam automaticamente uma estrutura interna Use...End use). A leitura de um elemento sem um Use... End use estrutura é, no entanto, possível.

info

Para obter mais informações sobre coleções compartilhadas, consulte a página Objetos e coleções compartilhadas.

Se não quiser passar parâmetros, New shared collection cria uma coleção vazia partilhada e retorna sua referência.

Precisa atribuir a referência devolvida à uma variável 4D de tipo Collection.

Keep in mind that var : Collection statement declares a variable of the Collection type but does not create any collection.

Opcionalmente pode preencher automaticamente a nova coleção partilhada passando um ou vários value como parâmetros. Também pode adicionar ou modificar elementos através de atribuição de notação de objetos (ver exemplo).

Se o novo índice elemento for além do último elemento existente da coleção partilhada, a coleção é automaticamente redimensionada e todos os novos elementos intermediários são atribuídos um valor null.

Pode passar qualquer número de valores dos tipos compatíveis abaixo:

  • número (real, longint....). Valores numéricos são sempre armazenados como reais.
  • text
  • boolean
  • date
  • hora (armazenada como número de milissegundos - real)
  • null
  • objeto compartido
  • coleção compartilhada
nota

Diferente de coleções padrão (não partilhadas), coleções partilhadas não são compatíveis com imagens, ponteiros e objetos ou coleção que não forem partilhadas.

Exemplo

 $mySharedCol:=New shared collection("alpha";"omega")
Use($mySharedCol)
$mySharedCol[1]:="beta"
End use

Veja também

New collection
New shared object
Shared objects and shared collections

Propriedades

Command number1527
Thread safe