[id] = AllocMemFromPointer(id, ptr, size)
#LIGHTUSERDATA
in einen Speicherblock zu konvertieren, den
Sie unter Verwendung des Speicherblockbefehls lesen und schreiben
können. Das neue Speicherblockobjekt wird unter der id
verfügbar
gemacht, oder wenn Sie Nil als id
angeben, wählt AllocMemFromPointer()
automatisch eine ID aus und gibt sie zurück.
Beachten Sie, dass AllocMemFromPointer()
keine lokale Kopie
des Arbeitsspeichers erstellt, auf den durch ptr
verwiesen wird.
Es wird nur ein Containerobjekt zugewiesen, damit Sie mit den
Speicherblockbefehlen auf die Speicherdaten zugreifen können.
Das Argument size
wird nur verwendet, um Lese- oder Schreiboperationen
außerhalb der Speicherblockgrenzen zu verhindern. Wenn Sie
die Größe des Speicherblocks nicht kennen, können Sie auch
im Argument size
0 übergeben. In diesem Fall verbietet Hollywood
keine Lese- und Schreiboperationen auf diesem Speicherblockobjekt.
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 zugewiesenen Arbeitsspeicher kann leicht zum Abstürzen Ihres Programms führen.
#LIGHTUSERDATA
, der auf einen Speicherblock zeigtid
eingetragen haben (siehe oben)