Espacio fuera de la pila (Visual Basic)

La pila es un área de trabajo de la memoria que crece y se reduce dinámicamente con las demandas del programa en ejecución. Se han superado sus límites.

Para corregir este error

  1. Compruebe que los procedimientos no están anidados demasiado profundamente.

  2. Asegúrese de que los procedimientos recursivos finalizan correctamente.

  3. Si las variables locales requieren más espacio de variables locales de lo que está disponible, intente declarar algunas variables en el nivel de módulo. También puede declarar todas las variables del procedimiento estático si precede a la Propertypalabra clave , Subo Function con Static. O bien, puede usar la Static instrucción para declarar variables estáticas individuales dentro de los procedimientos.

  4. Vuelva a definir algunas de las cadenas de longitud fija como cadenas de longitud variable, ya que las cadenas de longitud fija usan más espacio de pila que las cadenas de longitud variable. También puede definir la cadena en el nivel de módulo donde no requiere espacio de pila.

  5. Compruebe el número de llamadas de función anidadas DoEvents mediante el Calls cuadro de diálogo para ver qué procedimientos están activos en la pila.

  6. Asegúrese de que no ha provocado una "cascada de eventos" desencadenando un evento que llama a un procedimiento de evento ya en la pila. Una cascada de eventos es similar a una llamada de procedimiento recursiva noterminada, pero es menos obvia, ya que Visual Basic realiza la llamada en lugar de una llamada explícita en el código. Use el Calls cuadro de diálogo para ver qué procedimientos están activos en la pila.

Consulte también