ReAllocateMemory()
Syntaxe
*NouvelleMemoireID = ReAllocateMemory(*MemoireID, Taille)Description
Alloue (si le paramètre *MemoireID est 0) ou re-alloue une zone continue de mémoire de la Taille spécifiée (en octets). Si la zone de mémoire était déjà allouée, alors son ancien contenu est conservé. Si la quantité de mémoire demandée est disponible, *NouvelleMemoireID contiendra l'adresse de début de la zone mémoire, ou 0 si la zone n'a pu être allouée (dans ce cas, l'ancienne zone mémoire est toujours valide).
Note: Toutes les zones mémoire créées sont automatiquement libérées à la fin du programme.
Exemple:
*MemoireID = AllocateMemory(1000) PokeS(*MemoireID, "Stocke cette chaîne") ; faire quelque chose en plus avec ça ici... ; *NouvelleMemoireID = ReAllocateMemory(*MemoireID, 2000) ; besoin de plus de mémoire If *NouvelleMemoireID ; maintenant travailler avec *NouvelleMemoireID avec une taille de 2000 octets Debug "L'ancien contenu est toujours là :" Debug PeekS(*NouvelleMemoireID) ; FreeMemory(*NouvelleMemoireID) Else ; le redimensionnement a échoué, continuons de travailler avec *MemoireID (de taille 1000 octets) ; FreeMemory(*MemoireID) EndIf
OS Supportés
Tous