ericamiens
Messages postés18Date d'inscriptionmardi 28 janvier 2003StatutMembreDernière intervention 9 septembre 2004
-
17 avril 2003 à 15:40
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
19 avril 2003 à 17:55
bonjour,
j'urtilise un TTreeView dans un programme Delphi5.
lorsque j'intercepte l'événement OnCustomDrawItem,
les ressources systèmes s'épuisent très rapidement (on passe sous les 10% assez rapidement lors du parcours de quelques éléments de l'arbre).
dans le code de cet evénement, je fais juste quelques :
TV.Canvas.Font.Style := ...
TV.Canvas.Font.Color := ...
en fonction du Node.Level
lorsque je mets ces affectations en commentaire, les ressources systèmes (observées par le vumètre ressources) restent stables. cela provient bien de l'utilisation de cet évènement.
devrais-je faire quelques libérations au début ou à la fin de cet évènement ? et de quoi ?
si quelqu'un a une idée, je suis preneur.
bonne vacances à ceux qui en profitent.
Eric
ps:j'ai 128 Mo et mes tests se font avec mon programme seul en mémoire.
pps:l'exemple livré avec delphi (C:\Program Files\Borland\Delphi5\Demos\CustomDraw\customdraw.dpr) pose les mêmes problèmes.
A voir également:
La transaction a été bloquée sur les ressources verrou
yvemoreau
Messages postés308Date d'inscriptionmardi 11 juin 2002StatutMembreDernière intervention26 septembre 2008 19 avril 2003 à 06:30
Assurément puisque cet procédure s'exécute sur demande et souvent même très...
uses SysUtils
FreeAndNil(var Obj);
peut-être pas disponible sous delphi 5
mais choses certaines si les ressources ne sont pas libérer ça cause un problème puisque OnCustomDrawItem ne se limite pas à redessiner que les parties inchangés comme le ferait un refresh...
faudrait voir la procédure ce pourrait-être intéressant!
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 19 avril 2003 à 17:55
Tu devrais utiliser un détecteur de fuites mémoire tels que MemProof (en freeware) que l'on trouve sur le site AutomatedQA corp..
Ca aide pas mal dans ces situations.
May Delphi be with you