Zum Hauptinhalt springen

MemAllocate

MemAllocate(int1) : handle

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von Clients mit Programmierschnittstelle Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service

Memory-Objekt erzeugen

Details

Mit dieser Funktion wird ein Memory -Objekt angelegt. Die Größe muss dabei im Bereich von 1 Byte bis 512 MB (bei 32-Bit-Prozessen) bzw. 2 GB (bei 64-Bit-Prozessen) liegen. Der Speicherbereich wird im Adressraum des aktuellen Prozesses angelegt. Der Adressraum ist bei 32-Bit-Prozessen normalerweise 2 GB groß, in speziellen Fällen auch mehr (siehe ProcessMemoryLimitMB). Als Rückgabewert wird ein Deskriptor auf das Objekt zurückgegeben. Konnte das Objekt nicht angelegt werden, weil nicht ausreichend Speicher vorhanden ist, wird _ErrOutOfMemory zurückgegeben.

Bei der Größe des Objekts können anstelle der Anzahl der Bytes auch folgende Konstanten angegeben werden:

  • _Mem1K: _Mem1M
  • _Mem2K: _Mem2M
  • _Mem4K: _Mem4M
  • _Mem8K: _Mem8M
  • _Mem16K: _Mem16M
  • _Mem32K: _Mem32M
  • _Mem64K: _Mem64M
  • _Mem128K: _Mem128M
  • _Mem256K: _Mem256M
  • _Mem512K: _Mem512M

Anstelle der Größe des Objekts kann die Konstante _MemAutoSize angegeben werden. Die Größe des Objekts wird dann automatisch vergrößert, wenn entsprechedende Daten in das Objekt geschrieben werden. Beim Vergrößern des Objekts muss der Speicherinhalt kopiert werden, daher dauert das Schreiben dann länger als bei Objekten mit statischer Größe. Eine Verkleinerung des Objekts findet nicht automatisch statt.

Mit dem Befehl MemResize (), kann die Größe nachträglich verändert werden.

Um das Objekt wieder zu entfernen und den Speicher freizugeben, muss die Anweisung MemFree () verwendet werden.

Folgende Fehlerwerte sind möglich: