Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Stos to obszar roboczy pamięci, który rośnie i zmniejsza się dynamicznie wraz z wymaganiami wykonywanego programu. Przekroczono limity.
Aby naprawić ten błąd
Sprawdź, czy procedury nie są zbyt głęboko zagnieżdżone.
Upewnij się, że procedury cyklicznego kończą się prawidłowo.
Jeśli zmienne lokalne wymagają więcej miejsca na zmienne lokalne niż jest dostępne, spróbuj zadeklarować pewne zmienne na poziomie modułu. Można również zadeklarować wszystkie zmienne w procedurze statycznej, poprzedzając
Propertysłowo kluczowe ,Sub, lubFunctionza pomocąStaticpolecenia . Możesz też użyć instrukcji ,Staticaby zadeklarować poszczególne zmienne statyczne w ramach procedur.Ponownie zdefiniuj niektóre ciągi o stałej długości jako ciągi o zmiennej długości, ponieważ ciągi o stałej długości używają więcej miejsca na stosie niż ciągi o zmiennej długości. Można również zdefiniować ciąg na poziomie modułu, w którym nie wymaga miejsca na stosie.
Sprawdź liczbę zagnieżdżonych
DoEventswywołań funkcji, korzystając z okna dialogowegoCalls, aby wyświetlić, które procedury są aktywne na stosie.Upewnij się, że kaskada zdarzeń nie została wywołana przez wyzwolenie zdarzenia, które wywołuje procedurę zdarzenia już na stosie. Kaskada zdarzenia jest podobna do nieokreślonego wywołania procedury cyklicznego, ale jest mniej oczywiste, ponieważ wywołanie jest wykonywane przez język Visual Basic, a nie jawne wywołanie w kodzie. Użyj okna dialogowego
Calls, aby wyświetlić, które procedury są aktywne na stosie.