Árvore de páginas

Cria uma variável global para armazenar múltiplos valores de tipos diversos e armazena os valores fornecidos.

Sintaxe

PutGlbVars( < cGlbName >, < xValue1...N > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cGlbName

caractere

Indica o nome da variável global a ser criada.

X


xValue1...N

qualquer

Indica um ou mais valores a serem armazenados na variável global. Ver Observações para os tipos suportados.

X


Observações

  • Os valores a serem armazenados podem ser de qualquer tipo, a não ser bloco de código ou objeto;
  • Valores dos tipos bloco de código ou objeto não serão armazenados na variável global e em seus respectivos lugares serão armazenados valores do tipo NIL;
  • Caso um array a ser armazenado contenha elementos de tipos não suportados, somente estes elementos específicos serão submetidos às regras de substituição mencionadas;
  • Somente é possível recuperar os valores atribuídos a uma variável global criada pela função PutGlbVars() através da função GetGlbVars();
  • O escopo de uma variável global é a instância do serviço do Protheus Server que está executando a aplicação AdvPL. Assim, devido ao escopo não se restringir ao ambiente (Environment) ou ao processo (Thread) do programa AdvPL que criou a variável global, seu conteúdo somente será eliminado da memória mediante a chamada da função ClearGlbValue(), ou após a finalização de todos os programas AdvPL em execução na instância do Protheus Server onde a variável global foi criada.

Exemplos

User Function teste()
  // Alimenta valores das variáveis globais
  aGlbPut := {}
  aadd(aGlbPut,{"VarGlb01","Valor 01"})
  aadd(aGlbPut,{"VarGlb02","Valor 02"})
  aadd(aGlbPut,{"VarGlb03","Valor 03"})
  nValor := 123
  PutGlbVars("GlbNames",aGlbPut,nValor)
  // Retorna os valores das variáveis globais
  nValRet := 0
  aGlbRet := {}
  GetGlbVars("GlbNames", aGlbRet, nValRet)
Return

Abrangência

Microsiga Protheus 8.11 , Protheus 10, Protheus 11

Veja também

  • Sem rótulos