Condividi tramite


Spazio dello stack insufficiente (Visual Basic)

Lo stack è un'area di lavoro di memoria che cresce e si riduce dinamicamente con le esigenze del programma in esecuzione. Sono stati superati i limiti.

Per correggere l'errore

  1. Verificare che le procedure non siano annidate troppo in profondità.

  2. Assicurarsi che le procedure ricorsive vengano terminate correttamente.

  3. Se le variabili locali richiedono più spazio variabile locale di quello disponibile, provare a dichiarare alcune variabili a livello di modulo. È anche possibile dichiarare tutte le variabili nella routine statica precedendo la Propertyparola chiave , Subo Function con Static. In alternativa, è possibile usare l'istruzione Static per dichiarare singole variabili statiche all'interno delle procedure.

  4. Ridefinire alcune stringhe a lunghezza fissa come stringhe a lunghezza variabile, poiché le stringhe a lunghezza fissa usano più spazio dello stack rispetto alle stringhe a lunghezza variabile. È anche possibile definire la stringa a livello di modulo in cui non richiede spazio dello stack.

  5. Controllare il numero di chiamate di funzione annidate DoEvents usando la Calls finestra di dialogo per visualizzare le procedure attive nello stack.

  6. Assicurarsi di non aver causato una catena di eventi attivando un evento che chiama già una routine evento nello stack. Un evento a catena è simile a una chiamata di routine ricorsiva senza terminazione, ma è meno evidente, poiché la chiamata viene effettuata da Visual Basic anziché da una chiamata esplicita nel codice. Utilizzare la Calls finestra di dialogo per visualizzare le procedure attive nello stack.

Vedere anche