Recupera o valor de uma "chave" na "Tabela X" de uma determinada sessão, sem fazer bloqueio da "chave" <cChave> (Dirty).
Sintaxe
lRet := VarGetXD( <cUID>, <cChave>, <xValor> )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência | Observações |
---|---|---|---|---|---|
cUID | Caractere | Identificador da sessão de Variáveis Globais | X | ||
cChave | Caractere | Identificador da chave | X | ||
xValor | Numérico / Caractere / Data / Lógico | Variável onde será armazenado o valor da chave | X | X |
Retorno
Nome | Tipo | Descrição | Observações |
---|---|---|---|
lRet | Lógico | Indica se conseguiu recuperar o valor da chave <cChave> na sessão <cUID> | Retorna .T. se a função foi executada corretamente e se houver algum erro retorna .F. |
Observações
Se a chave <cChave> ou a sessão <cUID> não existirem, será retornado .F. em <lRet> e o conteúdo de <xValor> é indefinido, se ambos forem encontrados <xValor> receberá uma cópia do valor armazenado.
Como esta função não faz o bloqueio da chave esta função sempre irá recuperar o valor, mesmo que uma transação esteja em curso.
Por conta de não fazer bloqueio na chave esta função é mais rápida que a função "VarGetX" , ou seja, se os seus "Jobs" não tiverem a necessidade de fazer uma transação, de preferência para o uso desta função.
Disponível em Build igual ou superior a 7.00.131227A
Exemplos
Exemplo
User Function exemplo() Local cMyUID := "teste_UID_RL" Local cChave := "chave" Local nValor := 32 Local lRet := .F. lRet := VarSetUID(cMyUID) If(!lRet) ConOut("Erro na criação da sessão: " + cMyUID) EndIf lRet := VarSetXD(cMyUID, cChave, nValor) If(!lRet) ConOut("Erro na atualização da chave: " + cChave) EndIf nValor := 7 lRet := VarGetXD(cMyUID, cChave, @nValor) If(!lRet) ConOut("Erro na recuperação da chave: " + cChave) Else ConOut("Achou a chave: " + cChave + " valor: " + AllTrim(Str(nValor))) EndIf Return .T.