Bezeichnung
AllocMemFromPointer -- initialisiert den Speicherblock vom Zeiger (V6.0)
Übersicht
[id] = AllocMemFromPointer(id, ptr, size)
Beschreibung
Dieser Befehl kann verwendet werden, um einen Zeiger des Typs #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.

Eingaben
id
ID für den Speicherblock oder Nil für die automatische ID-Zuweisung
ptr
#LIGHTUSERDATA, der auf einen Speicherblock zeigt
size
Größe des Speicherblocks in Bytes oder 0, wenn Sie die Größe nicht kennen
Rückgabewerte
id
optional: ID des Speicherblocks; Wird nur zurückgegeben, wenn Sie Nil in id eingetragen haben (siehe oben)

Navigation zeigen