STATIC
Static nCounter := 0Mantém estado entre chamadas no escopo declarado.
Visão geral
Segundo o manual, Static dentro da função tem visibilidade limitada à rotina, mas conserva seu valor depois do retorno. Fora das funções, seu escopo abrange o fonte. Isso não torna o valor persistente no banco nem estabelece compartilhamento entre todos os usuários. O contador abaixo demonstra persistência entre chamadas do auxiliar; o ponto de partida depende do estado já existente na execução. A página TDN de STATIC é remissiva; a explicação de escopo vem do manual histórico. (Fontes: refs. 1–2.)
Sintaxe
Static nCounter := 0Exemplo comentado
#Include "Protheus.ch"
User Function Ed674()
// Chamadas sucessivas usam o mesmo estado estatico do auxiliar.
ConOut(Ed674Count())
ConOut(Ed674Count())
Return Nil
Static Function Ed674Count()
Static nContador := 0
nContador++
Return nContadorCom estado inicialmente zero, exibe 1 e 2. Repetições podem iniciar de outro valor. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Evitar guardar credenciais ou contexto de empresa em cache estático sem política de ciclo de vida e invalidação.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.