[id] = AllocMemFromVirtualFile(id, vf$)
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.
id
eingetragen haben (siehe oben)