Page 1 sur 1

effacer une zone mémoire

Publié : sam. 19/juin/2004 19:02
par julien
Salut question bête, comment effacer une zone mémoire alloué par la commande ReAllocateMemory ? (qu'il n'y ai plus aucune données)

Publié : sam. 19/juin/2004 19:09
par Ombres
Effacer ?
Libérer => FreeMemory(adresse)
Remplir de vide => RtlZeroMemory_(adresse,taille)

Publié : sam. 19/juin/2004 19:13
par julien
non, c'etait bien effacer car je réutilise la Zone mémoire mais il reste des donnés en fin quand les nouvelle donnée prennent mois de place

Publié : sam. 19/juin/2004 19:24
par Ombres
Tu veux dire tu as par exemple une zone memoire de 100 octets,
tu la passe à 60 octets avec ReAllocateMemory et tu voudrai effacer les 40 octets :? ?

Publié : sam. 19/juin/2004 19:32
par julien
non, j'ai alloué 100 octets

j'ai écrit 90 octets

j'ecrit 30 octects et il me reste 60 octets de donnée


la j'essaye la commande freememory(), est cela ?
Parce que je pensai qu'après la libération *Buffer revenai à 0 comme au début ?

Code : Tout sélectionner


MessageRequester("buff",Str(*Buffer),0)

*Buffer = AllocateMemory(10000) 
MessageRequester("buff",Str(*Buffer),0)

MessageRequester("avant libération",Str(*Buffer),0)
FreeMemory(*Buffer)
MessageRequester("apres libération",Str(*Buffer),0)

Publié : sam. 19/juin/2004 19:56
par Ombres
non *buffer reviens pas à 0, mais la mémoire est quand meme libérée si tu fait freememory ...
sinon je comprend toujours pas ce que tu veux faire #hein