Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Stacken är ett arbetsområde med minne som växer och krymper dynamiskt med kraven från ditt körprogram. Dess gränser har överskridits.
Så här åtgärdar du det här felet
Kontrollera att procedurerna inte är kapslade för djupt.
Se till att rekursiva procedurer avslutas korrekt.
Om lokala variabler kräver mer lokalt variabelutrymme än vad som är tillgängligt kan du prova att deklarera vissa variabler på modulnivå. Du kan också deklarera alla variabler i proceduren statiska genom att föregå nyckelordet
Property
,Sub
ellerFunction
medStatic
. Du kan också använda -instruktionenStatic
för att deklarera enskilda statiska variabler inom procedurer.Omdefiniera vissa av dina strängar med fast längd som strängar med variabel längd, eftersom strängar med fast längd använder mer stackutrymme än strängar med variabel längd. Du kan också definiera strängen på modulnivå där den inte kräver något stackutrymme.
Markera antalet kapslade funktionsanrop
DoEvents
med hjälpCalls
av dialogrutan för att visa vilka procedurer som är aktiva i stacken.Kontrollera att du inte orsakade en "händelsekaskad" genom att utlösa en händelse som anropar en händelseprocedur som redan finns i stacken. En händelsekaskad liknar ett obestämt rekursivt proceduranrop, men det är mindre uppenbart eftersom anropet görs av Visual Basic i stället för ett explicit anrop i koden.
Calls
Använd dialogrutan för att visa vilka procedurer som är aktiva i stacken.