Árvore de páginas

Cria uma nova sessão nomeada de Variáveis Globais agrupadas em duas tabelas de HashMap, uma de dados primários a "Tabela X" e outra para Listas de Valores a "Tabela A".

Ambas tabelas ("Tabela X" e "Tabela A") são compostas por "chave" e "valor".

As "chaves" são sequências de caracteres (string), e estas são sensíveis as letras maiúsculas e minúsculas.

Os "valores" são dependentes de cada tabela, onde na "Tabela X" podem receber dados primários (Numérico, Caractere, Data e Lógico) e na "Tabela A" podem receber Listas de Valores (Arrays).

Os "Arrays" da "Tabela A" só podem ser compostos pelos tipos:

  • Numérico – números;
  • Caractere – sequências de caracteres (strings);
  • Data – Valor de Data;
  • Lógico – valor lógico de Verdadeiro (.T.) e Falso (.F.);
  • Arrays – Lista de Valores;
  • Nulos – Valor não definido (Nil);

Todos os outros tipos serão substituídos por Nulos, pois pode ser que não seja possível se compartilhar entre diferentes "Jobs", objetos, CodeBlock;

Obs. Nenhum "valor" , dados primários (Numérico, Caractere, Data e Lógico) ou Listas de Valores (Arrays), precisam ser clonados antes de se atualizar (VarSet...) ou obter (VarGet...) os valores nas tabelas, pois cada execução ("Job") tem a sua cópia local da variável não podendo assim interferir na execução do outro.

(aviso) O tipo primário "Lógico" na "Tabela X" só está disponível em Build igual ou superior a 7.00.131227A NG

Sintaxe

 

VarSetUID
lRet := VarSetUID( <cUID> [, <lTemUID>] )

Parâmetros

NomeTipoDescriçãoObrigatórioReferênciaObservações
cUIDCaractere

Identificador da sessão de Variáveis Globais

X-o nome informado é sensível as letras maiúsculas e minúsculas
lTemUIDLógicoSe .T. ignora se <cUID> já existe, e se existir retorno .T.--O padrão é .F., ou seja, se o <cUID> já existir irá retornar erro (.F.)

Retorno

NomeTipoDescriçãoObservações
lRetLógico

Indica se conseguiu criar a sessão cUID e/ou se ela já estava criada

Retorna .T. se a função foi executada corretamente e se houver algum erro retorna .F.

Observações

Se <lTemUID> for .T. irá retornar verdadeiro (.T.) se conseguir criar a sessão <cUID> ou se ela já existir.

Por padrão o valor de <lTemUID> é falso (.F.)

(aviso) Disponível em Build igual ou superior a 7.00.131227A

Exemplos

Exemplo 

User Function exemplo()
  Local cMyUID := "teste_UID_RL"
  Local lRet := .F.
 
  lRet := VarSetUID(cMyUID)
  If(!lRet)
    ConOut("Erro na criação da sessão: " + cMyUID)
  Else
    ConOut("Criaou a sessão: " + cMyUID)
  EndIf
Return .T.
  • Sem rótulos