Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1498 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Impossible de liberer la mémoire d´un gif

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] Impossible de liberer la mémoire d´un gif

n°1253895
piloud
Posté le 26-11-2005 à 19:15:05  profilanswer
 

Voila ma ptite procedure bidon
 
procedure TForm1.Button1Click(Sender: TObject);
var
gif:Tgifimage;
begin
gif:=Tgifimage.Create;
gif.LoadFromFile('C:\Documents and Settings\Pilou\Mes documents\smiley\Grands_Smileys\3d-brosse-ses-dents.gif');
bloc.InsertPicture('',gif,rvvaBaseLine);
bloc.AnimationMode:=rvanionformat;
bloc.Format;
gif.Free;
 
Avec le gif.free , j´ai une exception.
sans le gif .free , ca marche nickel .
Le probème ne vient pas de la procedure insertpicture qui vient du composant Trichview
 
LE seul probème c´est que chaque image rajoutée fait augmenter la mémoire utilisée par le programme . Comment éviter ca  ?

mood
Publicité
Posté le 26-11-2005 à 19:15:05  profilanswer
 

n°1254053
taureau
Posté le 27-11-2005 à 09:38:31  profilanswer
 

je ne connais pas trop Richview (je devine que bloc est un TRichView) mais il y a de forte chance pour qu'en interne il utilise ton gif donc tu ne pourras le supprimer qu'après la libération de bloc, vérifie dans la doc si par hasard en libérant bloc celui-ci ne libère pas automatiquement les images...

n°1254375
piloud
Posté le 27-11-2005 à 20:41:18  profilanswer
 

Oui c´est un Trichview.  
le but est d´afficher le gif dans le Trichview .
Le problème , c´est que je ne veux pas liberer boc...  
et j´insere dedans plein d´image qui sont souvent les memes .  
En gros il peut y avoir 200 images .. mais il y aura une dizaine d´image differrentes
 
Si je rajoute chaque image avec le code lahaut. la mémoire prend supra cher.
 
autre solution : Creer une dizaine de variable Tgifimage qui contienne chacune un gif different. et inserer la variable que je souhaite dans mon Trichview...
 
mais n´y a t´il pas plus simple ! ?

n°1254528
taureau
Posté le 28-11-2005 à 08:59:20  profilanswer
 

si tes images sont les même il est surement inutile de les recréer à chaque fois, tu dois pouvoir faire plusieur bloc.InsertPicture('',gif,rvvaBaseLine) du même gif

n°1254643
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-11-2005 à 13:46:54  profilanswer
 

C'est un peu normal que la mémoire augmente. Si tu le mets dans le TRichview, il faut bien que le TRichview stocke le gif quelque part...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1254924
piloud
Posté le 28-11-2005 à 20:30:33  profilanswer
 

antp a écrit :

C'est un peu normal que la mémoire augmente. Si tu le mets dans le TRichview, il faut bien que le TRichview stocke le gif quelque part...


 
Tout à fait daccord mais quand c´est le meme gif? est ce obligatoire de reserver 2 fois la memoire ?  
si je les ajoute a deux moment differents.  
 
gif.loadfromfile(toto.gif)
insertpicture('',gif,.......);
 
gif.loadfromfile(tota.gif)
insertpicture('',gif,.......);
 
gif.loadfromfile(tata.gif)
insertpicture('',gif,.......);
 
//et hop  re toto.gif !
 
gif.loadfromfile(toto.gif)
insertpicture('',gif,.......);

n°1255016
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-11-2005 à 23:05:47  profilanswer
 

Je sais pas, il faut tester. J'expliquais juste le pourquoi de l'augmentation mémoire


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Impossible de liberer la mémoire d´un gif

 

Sujets relatifs
pb mise en memoire tampon d'une videoIMP-00069: Conversion impossible dans le descripteur
lire un flux reseau avec delphifaire la partie client d'un lecteur de flux webcam avec delphi
[Résolu] XMLHttpRequest : Impossible de récupérer les donnéesSingleton dans une DLL et espace mémoire propre
dbedit : saisie impossibleImpossible de créé une table mysql
Cherche crt32 pour Delphi 8Apache 2 + MySQL 5 + PHP 5 : Impossible de se connecter au SGDB
Plus de sujets relatifs à : [Delphi] Impossible de liberer la mémoire d´un gif


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR