AllocateStructure()

Syntaxe

*Resultat.Structure = AllocateStructure(Structure)
Description
Alloue un nouvel objet de type structure dynamique.

Cette structure dynamique est correctement initialisée et prête à être utilisée, sans la nécessité d'appeler InitializeStructure(). Pour accéder aux données de la structure, le pointeur associé à la 'Structure' spécifiée doit être utilisé.

Arguments

Structure Le nom de la structure utilisée pour créer le nouvel objet dynamique.
La structure doit exister au préalable.

Valeur de retour

L'adresse (pointeur), de la nouvelle structure dynamique, zéro sinon.

Remarques

Cette commande est à la disposition des utilisateurs avancés et ne devrait pas être nécessaire dans la plupart des programmes. Il est souvent plus judicieux d'utiliser un tableau structuré, une liste ou une map pour stocker dynamiquement des objets structurés.

Utiliser FreeStructure() pour libérer la mémoire d'une structure dynamique.
Toutes les structures dynamiques sont automatiquement libérées lorsque le programme se termine.

Si le programme se bloque avec cette commande, c'est généralement le résultat d'une corruption de la mémoire plus tôt dans le programme, en écrivant dans une zone à l'extérieur de la zone mémoire allouée. Il est possible de remonter à la cause de cette erreur en utilisant le purificateur.

Exemple

  Structure Peuple
    Nom$
    List Amis$()
  EndStructure
  
  *DynamicPeuple.Peuple = AllocateStructure(Peuple)
  *DynamicPeuple\Nom$ = "Fred"
  AddElement(*DynamicPeuple\Amis$())
  *DynamicPeuple\Amis$() = "Stef"
  
  Debug *DynamicPeuple\Nom$
  Debug *DynamicPeuple\Amis$()
  
  FreeStructure(*DynamicPeuple)

Voir aussi

FreeStructure()

OS Supportés

Tous

<- AllocateMemory() - Memory Index - CompareMemory() ->