Árvore de páginas

Variáveis estáticas funcionam basicamente como as variáveis locais, mas mantêm seu valor através da execução. Variáveis estáticas devem ser declaradas explicitamente no código com o identificador STATIC.

 O escopo das variáveis estáticas é limitado ao programa a qual foi declarada, independente do ponto onde a variável foi declarada.

Exemplo

Os dois trechos de código abaixo tem o mesmo resultado:

Declaração no corpo da função
user function vStatic()
  Pai()
return

static function Pai()
static nVar := 10 // Declaração no corpo da função
  conOut("Pai")
  conOut(nVar)
  Filha()
return(.T.)

static function Filha()
  conOut("Filha")
  conOut(nVar)
return
Declaração fora do escopo de função
static nVar := 10 // Declaração fora do escopo de função

user function vStatic()
  Pai()
return

static function Pai()
  conOut("Pai")
  conOut(nVar)
  Filha()
return(.T.)

static function Filha()
  conOut("Filha")
  conOut(nVar)
return
  • Sem rótulos