AllocateStructure()
Syntax
*Eintrag.StrkturName = AllocateStructure(StrukturName)Beschreibung
Reserviert einen neuen dynamischen Struktur-Eintrag. Dieser dynamische Struktur-Eintrag wird richtig initialisiert und ist bereit zur Verwendung, ohne dass InitializeStructure() aufgerufen werden muss. Um auf die Struktur-Daten zuzugreifen, muss ein Zeiger verknüpft mit dem angegebenen 'StrukturName' verwendet werden.
Parameter
StrukturName Der Name der für die Erstellung des neuen dynamischen Eintrags zu verwendenden Struktur. Die Struktur muss bereits erstellt worden sein.
Rückgabewert
Die Adresse des neuen dynamischen Struktur-Eintrags, andernfalls Null.
Anmerkungen
Dieser Befehl ist für fortgeschrittene Anwender und sollte für die meisten Programme nicht benötigt werden. Es ist oftmals die bessere Wahl, ein strukturiertes Array, List oder Map zu verwenden, um dynamisch strukturierte Einträge zu speichern.
FreeStructure() kann verwendet werden, um den dynamisch strukturierten Eintrag freizugeben. Alle dynamischen Strukturen werden automatisch freigegeben, wenn das Programm endet.
Wenn das Programm bei diesem Befehl abstürzt, ist dies regelmäßig das Resultat eines Speicherfehlers ("memory corruption") zu einem früheren Zeitpunkt im Programm, indem dort in einen Bereich außerhalb des reservierten Speicherbereichs geschrieben wurde. Solch ein Fehler kann mit Hilfe des Purifier Debugger-Tools auf die eigentliche Ursache eingegrenzt werden.
Beispiel
Structure People Name$ List Friends$() EndStructure *DynamicPeople.People = AllocateStructure(People) *DynamicPeople\Name$ = "Fred" AddElement(*DynamicPeople\Friends$()) *DynamicPeople\Friends$() = "Stef" Debug *DynamicPeople\Name$ Debug *DynamicPeople\Friends$() FreeStructure(*DynamicPeople)
Siehe auch
FreeStructure()
Unterstützte OS
Alle