Partilhar via


Espaço fora da pilha (Visual Basic)

A pilha é uma área de trabalho de memória que cresce e encolhe dinamicamente com as demandas do seu programa em execução. Os seus limites foram ultrapassados.

Para corrigir este erro

  1. Verifique se os procedimentos não estão aninhados muito profundamente.

  2. Certifique-se de que os procedimentos recursivos terminam corretamente.

  3. Se as variáveis locais exigirem mais espaço de variável local do que o disponível, tente declarar algumas variáveis no nível do módulo. Você também pode declarar todas as variáveis no procedimento estático precedendo a Propertypalavra-chave Static, Subou Function com . Ou você pode usar a instrução para declarar variáveis estáticas individuais dentro de Static procedimentos.

  4. Redefina algumas de suas cadeias de caracteres de comprimento fixo como cadeias de comprimento variável, pois as cadeias de comprimento fixo usam mais espaço de pilha do que cadeias de comprimento variável. Você também pode definir a cadeia de caracteres no nível do módulo, onde ela não requer espaço de pilha.

  5. Verifique o número de chamadas de função aninhadas DoEvents , usando a Calls caixa de diálogo para exibir quais procedimentos estão ativos na pilha.

  6. Certifique-se de que você não causou uma "cascata de eventos" acionando um evento que chama um procedimento de evento já na pilha. Uma cascata de eventos é semelhante a uma chamada de procedimento recursivo não terminada, mas é menos óbvia, uma vez que a chamada é feita pelo Visual Basic em vez de uma chamada explícita no código. Use a Calls caixa de diálogo para exibir quais procedimentos estão ativos na pilha.

Ver também