Função: ClearGlbValue
Limpa um conteúdo armazenado em uma variável global.
ClearGlbValue ( < cGlbName> , [nTimeOut] ) --> Nil
Nome | Tipo | Descrição | Obrigatório | Referência |
cGlbName | Caracter | Indica o nome da variável global. | X | |
nTimeOut | Numérico | Indica o tempo mínimo (em segundos) a partir do último acesso/leitura desta variável, para ela ser eliminada. (**) |
O escopo de uma variável global é a instância do serviço do Protheus Server que está executando a aplicação Advpl. 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(). Existe um procedimento de limpeza automática das variáveis globais, executado automaticamente pelo Protheus Server, quando da desconexão e/ou término de todos os programas advpl em execução neste Protheus Server. Uma variável global pode ter sido criada através das funções PutGlbValue() ou PutGlbVars()
A partir da build 7.00.131227A, a função aceita wildchars ( * e ? ) como parâmetro, para limpar mais de uma variável global em uma única chamada, e aceita um segundo parâmetro, opcional ( default = 0 ), para que sejam limpas variáveis globais que não foram mais acessadas apos um determinado período de tempo ( especificado em segundos ). Também a partir da build 7.00.131227A, o retorno da função passou a ser numérico, indicando quantas variáveis globais foram limpas da memória. Em builds anteriores a 7.00.131227A, a função retorna NIL.
cGlbName := "MYGLBVALUE"
cGlbValue := ""
// Alimenta variável
PutGlbValue(cGlbName,"Teste")
// Verifica o valor da variável
cGlbValue := GetGlbValue(cGlbName)
// Limpa variável
If Trim(cGlbValue) <> ""
ClearGlbValue(cGlbName)
Endif