Nincs veremterület (Visual Basic)

A verem a memória olyan munkaterülete, amely dinamikusan növekszik és csökken a végrehajtó program igényeinek megfelelően. A korlátozásokat túllépték.

A hiba kijavítása

  1. Ellenőrizze, hogy az eljárások nincsenek-e túl mélyen beágyazva.

  2. Győződjön meg arról, hogy a rekurzív eljárások megfelelően leállnak.

  3. Ha a helyi változók több helyi változóterületet igényelnek, mint amennyi rendelkezésre áll, próbáljon meg deklarálni néhány változót a modul szintjén. Az eljárás összes változója statikusan is deklarálható a , Subvagy Function a kulcsszó StaticelőttProperty. Vagy használhatja az utasítást Static az egyes statikus változók deklarálásához az eljárásokon belül.

  4. A rögzített hosszúságú sztringek egy részét újradefiniálhatja változó hosszúságú sztringként, mivel a rögzített hosszúságú sztringek több vermet használnak, mint a változó hosszúságú sztringek. A sztringet modulszinten is megadhatja, ahol nincs szükség veremterületre.

  5. Ellenőrizze a beágyazott DoEvents függvényhívások számát a Calls párbeszédpanelen annak megtekintéséhez, hogy mely eljárások aktívak a veremen.

  6. Győződjön meg arról, hogy nem okozott "esemény kaszkádolást", ha olyan eseményt aktivál, amely meghív egy eseményeljárást, amely már a veremen van. Az esemény kaszkádja hasonló a nem felügyelt rekurzív eljáráshíváshoz, de kevésbé nyilvánvaló, mivel a hívást a Visual Basic kezdeményezi, nem pedig a kódban lévő explicit hívás. Calls A párbeszédpanelen megtekintheti, hogy mely eljárások aktívak a veremen.

Lásd még