Bezeichnung
AllocMemFromVirtualFile -- initialisiert den Speicherblock aus einer virtuellen Datei (V6.1)
Übersicht
[id] = AllocMemFromVirtualFile(id, vf$)
Beschreibung
Dieser Befehl kann verwendet werden, um auf den Rohspeicherinhalt einer virtuellen Zeichenkettendatei zuzugreifen, die mit DefineVirtualFileFromString() erstellt wurde. Das neue Speicherblockobjekt wird unter der id zur Verfügung gestellt, oder wenn Sie Nil als id angeben haben, wählt AllocMemFromVirtualFile() automatisch eine ID aus und gibt sie zurück.

Beachten Sie, dass AllocMemFromVirtualFile() keine lokale Kopie des Arbeitsspeichers machen wird, die zur virtuellen Zeichenkettendatei gehört. Es wird nur einem Containerobjekt zugewiesen, so dass Sie über die Speicherblockbefehle auf die Speicherdaten zugreifen können.

Beachten Sie außerdem, dass beim Umgang mit schreibbaren virtuellen Zeichenkettendateien ihre Speicherdarstellung mit jeder einzelnen Schreiboperation, die an der virtuellen Zeichenkettendatei ausgeführt wird, geändert werden kann. Somit ist es nicht sicher, auf den Arbeitsspeicher der virtuellen Zeichenkettendatei durch einen Container mit AllocMemFromVirtualFile() zuzugreifen, nachdem eine Schreiboperation in dieser virtuellen Zeichenkettendatei durchgeführt wurde. Stattdessen müssen Sie nach jedem Schreibvorgang einen neuen Container erstellen und den alten mit FreeMem() zuerst löschen. Alles andere wird früher oder später zum Absturz führen.

Beachten Sie auch, dass es verboten ist, in den von diesem Befehl zugewiesenen Speicherblock zu schreiben, es sei denn, die virtuelle Zeichenkettendatei wurde als schreibbar erstellt.

Seien Sie gewarnt, dass dies ein gefährlicher Befehl ist und sollte nur von Programmierern verwendet werden, die wissen, was sie tun. Lesen oder Schreiben in nicht zugeteilten Arbeitsspeicher kann Ihr Programm leicht zum abstürzen bringen und alle möglichen Probleme verursachen.

Eingaben
id
ID für den Speicherblock oder Nil für die automatische ID-Zuweisung
vf$
Virtuelle Zeichenkette, welche durch DefineVirtualFileFromString() zugeordnet wurde
Rückgabewerte
id
optional: ID des Speicherblocks; Wird nur zurückgegeben, wenn Sie Nil in id eingetragen haben (siehe oben)

Navigation zeigen