dbLounge
Kategorie
Speicher
Befehl
make memory
Syntax
Pointer = MAKE MEMORY( Groesse )
Beschreibung
Mit dem Befehl MAKE MEMORY kann man im Programm dynamisch Speicher reservieren. Als Parameter wird die gewünschte Grösse in Bytes angegeben (Die Höchstgröße wird von der Größe des verfügbaren Arbeitsspeichers beschränkt). Der Rückgabewert ist eine Speicheradresse (Pointer) vom Typ DWORD.
Zusatzinformationen
Auf den so reservierten Speicher kann mit dem indirekt-Symbol * vor der Variablen mit der Adresse zugegriffen werden. Um ein bestimmtes Byte im reservierten Speicher zu setzen, erhöhr man den Pointer einfach um dessen Positionsnummer (vgl. Beispielcode). Achtung: Es ist unbedingt darauf zu achten, dass nur auf Pointer in dem Speicherbereich zugegriffen wird, der auch wirklich reserviert wurde. Andernfalls kann ein Speicherzugriff per Indirekt-Symbol zum Programmabsturz führen. Speicher, der nichmehr benötigt wird, sollte mit DELETE MEMORY wieder freigegeben werden.Speicher auf diese Weise zu reservieren ist zwar weniger konfortabel, als die Verwendung von Memblock-Befehlen, ist dafür aber flexibler und verursacht in Darkbasic weniger Verwaltungsaufwand.