[.net] liberer de la mémoire

dmothes Messages postés 56 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 11 novembre 2005 - 14 avril 2005 à 17:44
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 - 16 avril 2005 à 22:39
bonjour,
j'utilise un composant qui me renvoit un handle sur une image ( un Int32 ).

je voudrais savoir comment libérer la mémoire allouée à cette image lordque je n'en ai plus besoin. j'ai cherché dans la msdn mais j'ai rien trouvé et puis je débute en .net.
merci d'avance.

damien

3 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
16 avril 2005 à 12:55
Salut, et bien en fait il n'est pas nécessaire au premier abord de s'en occupé, il y a dans le FrameWork une dll s'apellant : GarbageCollector, celle-ci lancer par chaque appli VB.Net s'occupe de libérer ou non la mémoire, c'est elle qui détermine à quel moment elle le fera. Mais tu peux forcer le GarbageCollector à se vider en utilisant : System.GC.[fonction] mais je ne le conseil pas trop pour les débutant, je conseil plutôt de faire comme ceci :
[Object].Dispose
Mais si tu veux te pencher sur le GarbageCollector je te souhaite bonne change car il y a 2 ou 3 livre de 2000 pages chacun à lire pour comprendre et utiliser celui-ci.


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0
dmothes Messages postés 56 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 11 novembre 2005
16 avril 2005 à 19:00
salut,
le problème, c'est que je ne peux pas utiliser dispose car le seul lien vers l'image est un handle, soit un int32, et je voudrais libérer la mémoire de l'image associée. quant au garbage collector, il n'a pas l'air de bien faire son boulot pk la mémoire utilisée par mon prog augmente sans cesse, ce qui ne me convient pas parce qu'il est ammené à tourner pendant un temps relativement long.
merci
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
16 avril 2005 à 22:39
J'utilise parfois cette function pour lire dans la mémoire :

Private
Declare
Function ReadProcessMemory
Lib "kernel32" (
ByVal hProcess
As
Integer,
ByVal lpBaseAddress
As
Integer,
ByRef lpBuffer
As
String,
ByVal nSize
As
Integer,
ByRef lpNumberOfBytesRead
As
Integer)
As
Integer

peut-être y'a t'il une function pour l'en vider, et chercher. je n'ai pas plus d'idée


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0
Rejoignez-nous