Partage via


Espace de pile hors pile (Visual Basic)

La pile est une zone de travail de mémoire qui augmente et diminue dynamiquement avec les demandes de votre programme en cours d’exécution. Ses limites ont été dépassées.

Pour corriger cette erreur

  1. Vérifiez que les procédures ne sont pas imbriquées trop profondément.

  2. Assurez-vous que les procédures récursives se terminent correctement.

  3. Si les variables locales nécessitent plus d’espace de variable local que disponible, essayez de déclarer certaines variables au niveau du module. Vous pouvez également déclarer toutes les variables de la procédure statique en précédant le Property, Subou Function le mot clé avec Static. Vous pouvez également utiliser l’instruction Static pour déclarer des variables statiques individuelles dans des procédures.

  4. Redéfinissez certaines de vos chaînes de longueur fixe en tant que chaînes de longueur variable, car les chaînes de longueur fixe utilisent plus d’espace de pile que les chaînes de longueur variable. Vous pouvez également définir la chaîne au niveau du module où elle ne nécessite aucun espace de pile.

  5. Vérifiez le nombre d’appels de fonction imbriqués DoEvents à l’aide de la Calls boîte de dialogue pour afficher les procédures actives sur la pile.

  6. Assurez-vous que vous n’avez pas provoqué de « cascade d’événements » en déclenchant un événement qui appelle déjà une procédure événementielle sur la pile. Une cascade d’événements est similaire à un appel de procédure récursive interminé, mais il est moins évident, car l’appel est effectué par Visual Basic plutôt qu’un appel explicite dans le code. Utilisez la Calls boîte de dialogue pour afficher les procédures actives sur la pile.

Voir aussi