Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Out of stack space (Visual Basic)
Lo stack è un'area di lavoro della memoria le cui dimensioni aumentano e si riducono dinamicamente in base alle richieste del programma in esecuzione. I suoi limiti sono stati superati.
Per correggere l'errore
Assicurarsi che le routine non siano eccessivamente nidificate.
e che le routine ricorsive terminino in modo appropriato.
Se le variabili locali richiedono uno spazio superiore a quello disponibile, provare a dichiarare alcune variabili a livello di modulo. È anche possibile dichiarare come statiche tutte le variabili della routine inserendo Static come prefisso davanti alla parola chiave Property, Sub o Function, oppure utilizzare l'istruzione Static per dichiarare variabili Static individuali all'interno delle routine.
Ridefinire alcune delle stringhe a lunghezza fissa come stringhe a lunghezza variabile, poiché le stringhe a lunghezza fissa richiedono più spazio nello stack rispetto a quelle a lunghezza variabile. È anche possibile definire la stringa a livello di modulo, dove non richiede spazio dello stack.
Verificare il numero di chiamate nidificate alla funzione DoEvents utilizzando la finestra di dialogo Calls per visualizzare le routine attive nello stack.
Assicurarsi di non aver generato una cascata di eventi generando un evento che chiama una routine evento già presente nello stack. Una cascata di eventi è simile a una chiamata a una routine ricorsiva non terminata, ma risulta meno ovvia, poiché la chiamata viene effettuata da Visual Basic, non da una chiamata esplicita nel codice. Utilizzare la finestra di dialogo Callsper visualizzare le routine attive nello stack.