Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
320to324
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
320to324
320to324
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Stapelspeicher zu klein

Stapelspeicher zu klein
08.10.2003 20:45:27
Peppi
Hallo,

ich übergebe mit Call Test(strSuchtext)

an:

Public

Sub Test(strSuchtext As String)
Call Test2 (strSuchtext)
End Sub


Ich bekomme hierbei immer die Fehlermeldung Laufzeitfehler 28
Nicht genügend Stapelspeicher.

Weiß Jemand Rat?

Danke.

Gruß
Peppi

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Stapelspeicher zu klein
08.10.2003 20:51:41
Nepumuk
Hallo Peppi,

VBA Laufzeitfehler Nr. 28 "Nicht genügend Stapelspeicher"

Der Stapelspeicher ist ein Bereich des Arbeitsspeichers, der je nach Anforderungen des momentan ausgeführten Programms dynamisch seine Größe verändert. Dieser Fehler hat die folgenden Ursachen und Lösungen:

- Es sind zu viele Aufrufe von Function-, Sub- oder Property-Prozeduren aktiv.
Überprüfen Sie, ob Prozeduren eventuell zu tief verschachtelt sind. Dies kann insbesondere bei rekursiven Prozeduren (also bei Prozeduren, die sich selbst aufrufen) auftreten. Sorgen Sie dafür, daß rekursive Prozeduren ordnungsgemäß beendet werden. Mit dem Dialogfeld Aufrufeliste können Sie überprüfen, welche Prozeduren momentan aktiv sind (also Stapelspeicher benötigen).

- Für lokale Variablen steht nicht genügend lokaler Variablenspeicher zur Verfügung.
Versuchen Sie statt dessen, einige Variablen auf Modulebene zu deklarieren. Sie können auch alle Variablen in der betreffenden Prozedur als statisch deklarieren, indem Sie vor die Schlüsselwörter Property, Sub oder Function das Schlüsselwort Static setzen. Sie können mit der Static-Anweisung auch einzelne Variablen innerhalb einer Prozedur als Static-Variablen deklarieren.

- Es sind zu viele Zeichenfolgen fester Länge vorhanden.
Zwar erfolgen in einer Prozedur Zugriffe auf Zeichenfolgen fester Länge schneller als auf Zeichenfolgen variabler Länge, aber Zeichenfolgen fester Länge benötigen mehr Stapelspeicher, da die Daten der Zeichenfolge auf dem Stapel abgelegt werden. Versuchen Sie, einige Zeichenfolgen fester Länge als Zeichenfolgen variabler Länge zu deklarieren, da bei diesen nur der Zeichenfolgendeskriptor (also der Zeiger auf die Zeichenfolge und nicht die Daten selbst) auf dem Stapel abgelegt wird. Sie können die Zeichenfolge auch auf Modulebene definieren. Sie benötigt dann keinen Stapelspeicher, da auf Modulebene deklarierte Variablen standardmäßig den Typ Public haben, d.h. auf die Zeichenfolge kann von allen Prozeduren im Modul zugegriffen werden.

- Es gibt zu viele verschachtelte Aufrufe der DoEvents-Funktion.
Überprüfen Sie mit dem Dialogfeld Aufrufeliste, welche Prozeduren zur Zeit aktiv sind (also Stapelspeicher benötigen).

- Ihr Code hat eine Ereigniskette ausgelöst.
Eine Ereigniskette entsteht, wenn ein Ereignis ausgelöst wird, das eine weitere Ereignisprozedur aufruft, die sich bereits auf dem Stapel befindet. Eine Ereigniskette ähnelt einem nicht abgebrochenen Aufruf einer rekursiven Prozedur, ist jedoch weniger offensichtlich, da der Aufruf durch Visual Basic erfolgt und nicht explizit durch Ihren Code. Überprüfen Sie mit dem Dialogfeld Aufrufeliste, welche Prozeduren zur Zeit aktiv sind (also Stapelspeicher benötigen).

Hinweis
Das Dialogfeld Aufrufeliste wird angezeigt, wenn Sie im Testfenster auf die Schaltfläche mit den Auslassungspunkten rechts neben dem Feld Prozedur klicken oder den Befehl Aufrufeliste wählen.

Gruß
Nepumuk
Anzeige
AW: Stapelspeicher zu klein
08.10.2003 20:52:24
Hajo_Zi
Hallo Peppi

benutz mal die Suchdfunktion nach Stapelspeicher. Vielleicht hilft der Beitrag.

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/

Anzeige
AW: Stapelspeicher zu klein
08.10.2003 20:53:57
Michael Scheffler
Hallo Peppi,

willst Du uns verar...? Du produzierst einen Endlosaufruf. Irgendwann ist der Stack voll.

Wenn Du etwas in der Art machen willst, die Funktion für Fakultät ist das berümteste Beispiel einer rekursiven Funktion, beruachst Du ein Abbruchkriterium.

Gruß

Micha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige