Voila, jsui entrain d'écrire un programme où j'ai besoin d'ouvrir et de fermer
un grand nombre d'images. Il est donc vitale de les supprimer apres
utilisation. Le problème, c'est que j'ai toujours cru qu'en utilisant la
commande "delete" sur un objet, ça le supprimer et l'enlever de la mémoire mais
ça n'a pa l'air d'être le cas. Grace à Windows XP, on peut savoir la taille
prise par les applications, la mienne dépasse les 200Mo !! heuresement que j'en
ai assez mais apres je dois le mettre sur un PC avec bcp moins de RAM.
Jé essayé de mettre de plein de commande deffacement mé rien n'y fait. :-(
Alors voila mon code :
//-- déclaration
Graphics::TBitmap *image= new Graphics::TBitmap();
//-- traitement--
// (...)
//-- Libération de la mémoire
image->FreeImage();
image->Dormant();
image->ReleaseHandle();
delete(image);
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Vincent Richard
Voila, jsui entrain d'écrire un programme où j'ai besoin d'ouvrir et de fermer un grand nombre d'images. Il est donc vitale de les supprimer apres utilisation. Le problème, c'est que j'ai toujours cru qu'en utilisant la commande "delete" sur un objet, ça le supprimer et l'enlever de la mémoire mais ça n'a pa l'air d'être le cas. Grace à Windows XP, on peut savoir la taille prise par les applications, la mienne dépasse les 200Mo !!
<...snip...>
Connaissez-vous la solution ??
Le problème n'est peut-être pas là où tu le crois. Quand Windows libère de la mémoire, cette mémoire est peut-être marquée comme libre mais elle reste allouée à ton application au cas où elle serait utile plus tard.
Je dis ça comme ça, je ne sais absolument pas comment fonctionne Windows en interne.
PS: "delete" n'est pas une "commande".
Vincent
-- SL> Au fait elle est mieux ma signature maintenant ? Oui. T'enlève encore les conneries que t'as écrit dedans et c'est bon. -+- JB in <http://www.le-gnu.net> : Le neuneuttoyage par le vide -+-
Voila, jsui entrain d'écrire un programme où j'ai besoin d'ouvrir et de
fermer un grand nombre d'images. Il est donc vitale de les supprimer apres
utilisation. Le problème, c'est que j'ai toujours cru qu'en utilisant la
commande "delete" sur un objet, ça le supprimer et l'enlever de la mémoire
mais ça n'a pa l'air d'être le cas. Grace à Windows XP, on peut savoir la
taille prise par les applications, la mienne dépasse les 200Mo !!
<...snip...>
Connaissez-vous la solution ??
Le problème n'est peut-être pas là où tu le crois. Quand Windows libère de
la mémoire, cette mémoire est peut-être marquée comme libre mais elle reste
allouée à ton application au cas où elle serait utile plus tard.
Je dis ça comme ça, je ne sais absolument pas comment fonctionne Windows
en interne.
PS: "delete" n'est pas une "commande".
Vincent
--
SL> Au fait elle est mieux ma signature maintenant ?
Oui. T'enlève encore les conneries que t'as écrit dedans et c'est bon.
-+- JB in <http://www.le-gnu.net> : Le neuneuttoyage par le vide -+-
Voila, jsui entrain d'écrire un programme où j'ai besoin d'ouvrir et de fermer un grand nombre d'images. Il est donc vitale de les supprimer apres utilisation. Le problème, c'est que j'ai toujours cru qu'en utilisant la commande "delete" sur un objet, ça le supprimer et l'enlever de la mémoire mais ça n'a pa l'air d'être le cas. Grace à Windows XP, on peut savoir la taille prise par les applications, la mienne dépasse les 200Mo !!
<...snip...>
Connaissez-vous la solution ??
Le problème n'est peut-être pas là où tu le crois. Quand Windows libère de la mémoire, cette mémoire est peut-être marquée comme libre mais elle reste allouée à ton application au cas où elle serait utile plus tard.
Je dis ça comme ça, je ne sais absolument pas comment fonctionne Windows en interne.
PS: "delete" n'est pas une "commande".
Vincent
-- SL> Au fait elle est mieux ma signature maintenant ? Oui. T'enlève encore les conneries que t'as écrit dedans et c'est bon. -+- JB in <http://www.le-gnu.net> : Le neuneuttoyage par le vide -+-
Benoit Dejean
Le Sat, 28 Jun 2003 14:52:27 +0000, Jujubond001 a ecrit:
Bonjour à tous,
Voila, jsui entrain d'écrire un programme où j'ai besoin d'ouvrir et de fermer un grand nombre d'images. Il est donc vitale de les supprimer apres utilisation. Le problème, c'est que j'ai toujours cru qu'en utilisant la commande "delete" sur un objet, ça le supprimer et l'enlever de la mémoire mais ça n'a pa l'air d'être le cas. Grace à Windows XP, on peut savoir la taille prise par les applications, la mienne dépasse les 200Mo !! heuresement que j'en ai assez mais apres je dois le mettre sur un PC avec bcp moins de RAM.
Jé essayé de mettre de plein de commande deffacement mé rien n'y fait. :-(
opérateur
Alors voila mon code :
//-- déclaration Graphics::TBitmap *image= new Graphics::TBitmap(); //-- traitement-- // (...) //-- Libération de la mémoire image->FreeImage(); image->Dormant(); image->ReleaseHandle(); delete(image);
parenthèses inutiles
Connaissez-vous la solution ?? merci d'avance.
Jujubond.
Sans parler de la gestion de la mémoire de ton système, tu es sur de ne pas avoir de fuite de mémoire ailleurs?
-- Ne perdez pas de vue qu'un programme qui plante est d'une utilité quasi nulle, ce qui est loin d'être incompatible avec la notion d'Art.
Le Sat, 28 Jun 2003 14:52:27 +0000, Jujubond001 a ecrit:
Bonjour à tous,
Voila, jsui entrain d'écrire un programme où j'ai besoin d'ouvrir et
de fermer un grand nombre d'images. Il est donc vitale de les supprimer
apres utilisation. Le problème, c'est que j'ai toujours cru qu'en
utilisant la commande "delete" sur un objet, ça le supprimer et
l'enlever de la mémoire mais ça n'a pa l'air d'être le cas. Grace à
Windows XP, on peut savoir la taille prise par les applications, la
mienne dépasse les 200Mo !! heuresement que j'en ai assez mais apres je
dois le mettre sur un PC avec bcp moins de RAM.
Jé essayé de mettre de plein de commande deffacement mé rien n'y
fait.
:-(
opérateur
Alors voila mon code :
//-- déclaration
Graphics::TBitmap *image= new Graphics::TBitmap(); //-- traitement--
// (...)
//-- Libération de la mémoire
image->FreeImage();
image->Dormant();
image->ReleaseHandle();
delete(image);
parenthèses inutiles
Connaissez-vous la solution ??
merci d'avance.
Jujubond.
Sans parler de la gestion de la mémoire de ton système, tu es sur de ne
pas avoir de fuite de mémoire ailleurs?
--
Ne perdez pas de vue qu'un programme qui plante est d'une utilité quasi nulle,
ce qui est loin d'être incompatible avec la notion d'Art.
Le Sat, 28 Jun 2003 14:52:27 +0000, Jujubond001 a ecrit:
Bonjour à tous,
Voila, jsui entrain d'écrire un programme où j'ai besoin d'ouvrir et de fermer un grand nombre d'images. Il est donc vitale de les supprimer apres utilisation. Le problème, c'est que j'ai toujours cru qu'en utilisant la commande "delete" sur un objet, ça le supprimer et l'enlever de la mémoire mais ça n'a pa l'air d'être le cas. Grace à Windows XP, on peut savoir la taille prise par les applications, la mienne dépasse les 200Mo !! heuresement que j'en ai assez mais apres je dois le mettre sur un PC avec bcp moins de RAM.
Jé essayé de mettre de plein de commande deffacement mé rien n'y fait. :-(
opérateur
Alors voila mon code :
//-- déclaration Graphics::TBitmap *image= new Graphics::TBitmap(); //-- traitement-- // (...) //-- Libération de la mémoire image->FreeImage(); image->Dormant(); image->ReleaseHandle(); delete(image);
parenthèses inutiles
Connaissez-vous la solution ?? merci d'avance.
Jujubond.
Sans parler de la gestion de la mémoire de ton système, tu es sur de ne pas avoir de fuite de mémoire ailleurs?
-- Ne perdez pas de vue qu'un programme qui plante est d'une utilité quasi nulle, ce qui est loin d'être incompatible avec la notion d'Art.
adebaene
(Jujubond001) wrote in message news:...
Bonjour à tous, Bonjour.
Voila, jsui entrain d'écrire un programme où j'ai besoin d'ouvrir et de fermer un grand nombre d'images. Il est donc vitale de les supprimer apres utilisation. Le problème, c'est que j'ai toujours cru qu'en utilisant la commande "delete" sur un objet, ça le supprimer et l'enlever de la mémoire mais ça n'a pa l'air d'être le cas. Grace à Windows XP, on peut savoir la taille prise par les applications, la mienne dépasse les 200Mo !! heuresement que j'en ai assez mais apres je dois le mettre sur un PC avec bcp moins de RAM. <HS>
Et comment est-ce que tu vois cette fuite, avec quel outil? Le "Task Manager" (ou n'importe quel outil au niveau systeme d'ailleurs) ne peut pas etre utilise pour ca car la CRT ne redonne pas la memoire que tu libere a l'OS mais la garde en cache pour la reutiliser </HS>
Pour plus de details, un groupe specifiaue a ton environement (Borland?) sera tout indique.
Arnaud
PS : Pardon pour les accents, je suis sur un clavier QWERTY.
jujubond001@aol.com (Jujubond001) wrote in message news:<20030628105227.23552.00001017@mb-m27.aol.com>...
Bonjour à tous,
Bonjour.
Voila, jsui entrain d'écrire un programme où j'ai besoin d'ouvrir et de fermer
un grand nombre d'images. Il est donc vitale de les supprimer apres
utilisation. Le problème, c'est que j'ai toujours cru qu'en utilisant la
commande "delete" sur un objet, ça le supprimer et l'enlever de la mémoire mais
ça n'a pa l'air d'être le cas. Grace à Windows XP, on peut savoir la taille
prise par les applications, la mienne dépasse les 200Mo !! heuresement que j'en
ai assez mais apres je dois le mettre sur un PC avec bcp moins de RAM.
<HS>
Et comment est-ce que tu vois cette fuite, avec quel outil? Le "Task
Manager" (ou n'importe quel outil au niveau systeme d'ailleurs) ne
peut pas etre utilise pour ca car la CRT ne redonne pas la memoire que
tu libere a l'OS mais la garde en cache pour la reutiliser
</HS>
Pour plus de details, un groupe specifiaue a ton environement
(Borland?) sera tout indique.
Arnaud
PS : Pardon pour les accents, je suis sur un clavier QWERTY.
Voila, jsui entrain d'écrire un programme où j'ai besoin d'ouvrir et de fermer un grand nombre d'images. Il est donc vitale de les supprimer apres utilisation. Le problème, c'est que j'ai toujours cru qu'en utilisant la commande "delete" sur un objet, ça le supprimer et l'enlever de la mémoire mais ça n'a pa l'air d'être le cas. Grace à Windows XP, on peut savoir la taille prise par les applications, la mienne dépasse les 200Mo !! heuresement que j'en ai assez mais apres je dois le mettre sur un PC avec bcp moins de RAM. <HS>
Et comment est-ce que tu vois cette fuite, avec quel outil? Le "Task Manager" (ou n'importe quel outil au niveau systeme d'ailleurs) ne peut pas etre utilise pour ca car la CRT ne redonne pas la memoire que tu libere a l'OS mais la garde en cache pour la reutiliser </HS>
Pour plus de details, un groupe specifiaue a ton environement (Borland?) sera tout indique.
Arnaud
PS : Pardon pour les accents, je suis sur un clavier QWERTY.