Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
portuguese
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.css

Pagetitle
GetGlbVars
GetGlbVars

...

Retorna os valores armazenados em uma variável global

...

.

Sintaxe

Bloco de código
collapsefalse
GetGlbVars( < cGlbName >, < 
xValue1
@xValue1...N > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cGlbName

caractere

Indica o nome

...

da variável global.

X

...


xValue1...N

qualquer

Indica os nomes

...

de uma ou mais variáveis, passadas por referência, que receberão os

...

valores armazenados na variável global.

X

...

X

Retorno

Nome

Tipo

Descrição

lRet

lógico

Retorna verdadeiro (.T.) caso o identificador

...

seja encontrado e as variáveis

...

sejam retornadas

...

; caso contrário, retorna falso (.F.).

Informações
icontrue
titleObservações
  • Somente é possível recuperar através da função GetGlbVars() os valores atribuídos a uma variável global criada pela função PutGlbVars();
  • Uma variável global acessada pela função GetGlbVars() pode retornar de 1 até o número total de valores armazenados, com tipos respectivos aos usados quando do armazenamento via PutGlbVars();
  • Para recuperar o conteúdo de variáveis globais criadas via PutGlbValue(), capazes de armazenar somente valores do tipo string, deve-se utilizar a função GetGlbValue();
  • 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

Observações

  • Variáveis globais são visíveis por todos os processos em execução dentro da instância de Application Server na qual elas foram criadas, mesmo entre ambientes / environments distintos. Isto significa que, caso não seja a intenção do desenvolvedor em compartilhar um conteúdo de variável global com outro ambiente, deve-se usar por exemplo o próprio nome do ambiente como parte do nome do identificador global a ser criado e/ou acessado.Enquanto houver pelo menos um processo em execução em uma instância de Application Server, as variáveis globais criadas nesta instância são mantidas na memória, e limpas apenas caso a aplicação assim o faça, explicitamente. Caso todos os processos AdvPl dessa instância sejam finalizados, na saída do último processo, todas as variáveis globais na memória serão limpas / eliiminadas.

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
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",
<at:var at:name="
aGlbRet,
" />nValRet
nValRet)
Return

Abrangência

Microsiga Protheus 8.11 , Protheus 10, Protheus 11

Veja também