Usina BRAdvPL Guia
Entrar
← Todos os tópicos
FUNDAMENTOEm revisão

STATIC

Static nCounter := 0

Mantém estado entre chamadas no escopo declarado.

STATICAdvPL
01 · VISÃO GERAL

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.)

02 · SINTAXE

Sintaxe

Static nCounter := 0
03 · EXEMPLO PRÁTICO

Exemplo 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 nContador
Resultado esperado

Com 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.

BOAS PRÁTICAS
  • 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.

Conteúdos relacionados

REFERÊNCIAS
  1. AdvPL — O Manual. Referência histórica, p. 50. Contrato atual não homologado. Consulta em 2026-10-28.
  2. TOTVS. STATIC. Página remissiva. Consulta em 2026-10-28.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha