Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi EStackOverflow??? (https://www.delphipraxis.net/22913-estackoverflow.html)

Chewie 26. Mai 2004 17:57

Re: EStackOverflow???
 
Der Nachteil kann halt sein, dass der Stack zu groß wird und dann der Speicher knapp wird.
Solange du ihn aber in Maßen vergrößerst, sollte das nicht passieren.

Zum Thema Stack und Heap:
Jede Prozedur hat einen Stack, das heißt übersetzt Stapel. Dort werden zu Beginn die Übergabeparameter aufgestapelt, ganz unten liegt die Rücksprungadresse zu dem Punkt, von dem die Prozedur aufgerufen wurde. Auch lokale Variablen werden auf diesem Stack gespeichert. Dieser Stackspeicher ist aus verschiedenen Sicherheitsgründen recht begrenzt, deshalb der Stack Overflow.

Der Heap dagegen ist ein globaler Speicherbereich, der über die Prozeduren hinaus verfügbar ist. Beispielsweise werden dort alle Objekte werden dort abgelegt.
Was du nun machen könntest, wäre dir einen Zeiger auf dein Array zu erzeugen und das Array mit der richtigen Größe auf dem Heap via GetMem bzw. New zu erzeugen. Dann wäre der Speicherplatz nur durch den verfügbaren virtuellen Speicher begrenzt. Allerdings müsstest du dann den Speicher seblbst wieder freigeben (FreeMem bzw. Dispose).

Master_BB 26. Mai 2004 18:01

Re: EStackOverflow???
 
stimmt eigentlich shmia - shit das hab ich überhauptnicht gesehn.
hatte wohl ein wenig kaudawelsch geprogzt.
jetzt ohne array klappts natürlcih auch mit dem nachbarn *lol*
haut jetzt alles hin und die verarbeitung wird dadurch natürlcih auch schneller.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:51 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz