begin process at 2010 03 22 02:59:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Système

 > 

Fichier & Disque

 > 

FileStream et libération de mémoire...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

FileStream et libération de mémoire...

jeudi 2 novembre 2006 à 17:21:53 | FileStream et libération de mémoire...

GenEars

 GenEars > Bonjour,

il y a quelques temps j'ai réutilisé une unité uFileByChunk qui m'a été bien utile pour une moulinette de fichier d'erreurs en .csv, erreur par erreur...

je réadapte cette même unité qui utilise un TFileStream à travers un tableau pour un nouveau projet analysant plusieurs .csv à la suite.

Ce tableau/FileStream est créé, puis détruit, pour chaque .csv; mais (!) au bout de 7 ouvertures/fermetures, EOutOfMemory apparaît !

... je réduit la taille du tableau : la limite de 7 opérations recule mais persiste...
... j'observe l'utilisation de la mémoire via le Gestionnaire de tâches : jamais en saturation...

Alors, une idée pour vraiment libérer un objet et ses mémoire ?

Dans l'attente,
jeudi 2 novembre 2006 à 18:38:17 | Re : FileStream et libération de mémoire...

Loda

Membre Club
salut, sans un bout de code, c'est dur à dire où est ton problème.... Je suis plus doué en prog qu'en divination... :) indique déjà quand et où est le raise. ça serrait un bon début. sinon, lorsque tu observe la mémoire utiliser dans le gestionnaire, est-ce que la mémoire utilisée par ton applic augmente lorsque tu ouvre/ferme des fichiers? (le total du PC, à la limite en s'en fout) et pour détruire des object, un .free marche bien en général. Faut juste faire gaffe au object qui peuvent être associé, mais pas détruit par le destroy. (l'exemple le plus typique étant les object associé au TStringList (combobox, ...)) dans l'attente....
vendredi 3 novembre 2006 à 15:36:47 | Re : FileStream et libération de mémoire...

N_M_B

salut a tous !
Loda> "l'exemple le plus typique étant les object associé au TStringList (combobox, ...)"  pourais tu m'éxpliquer cala , sa m'interesse :)
GenEars>désolé mais mon niveau en prorammation ne me permet pas de t'aider :(

alé a+

N*M*B
vendredi 3 novembre 2006 à 15:45:56 | Re : FileStream et libération de mémoire...

Loda

Membre Club
bin, les TStringList te permet d'associer un Object (TObject) à chaque élément(cad chaque string). typiquement, c'est très utile pour les combo box. comme ça tu peux avoir directement une référence à la class correspondante à l'item selectionner par l'utilisateur. Aussi, tu peux y affecter des object que tu créer spécilament pour ta list. Dans ce cas, il FAUT les détruire avant de faire un .clear sur ton stirng list. sinon, t'as des fuite de mémoire. perso, je me sert de ce principe pour retourner un tableau d'object qiu doivent s'afficher sous form de list sur une interface utilisateur. comme ça j'ai le text d'affichage ET l'object au même endroit. facile :) regarde l'aide, c'est bien expliquer. PS: au cas ou cela ne serrait pas clair pour toi, les items d'un combobox sont en fait un TStringList. donc manipulable comme tel.


Cette discussion est classée dans : tableau, mémoire, csv, filestream, libération


Répondre à ce message

Sujets en rapport avec ce message

taille mémoire d'un tableau dynamique de string [ par ni69 ] Bonjour,Est-il possible de connaître exactement la taille mémoire occupée par un tableau dynamique de string ?J'ai cherché un bon moment sans rien tro Delphi/affichge tableau [ par Nadia16 ] Bon jour,Je veut savoir comment on peut sauvegarder des vecteurs ou des tableaux (matrice)et les afficher en Delphi pour en suit les utiliser pour tra Création de tableau [ par madcap ] Bonjour à tous,Je suis sur un projet en Delphi et j'ai besoin de vos lumières.J'ai un tableau de type StringGrid qui contient différents éléments. J'a Service Windows - Gestion de la mémoire [ par madcap ] Bonjour à tous,J'ai développé un service Windows en Delphi qui interroge un WS chaque X temps pour récupérer des données et les insérer dans une base Les pointeurs! [ par Samou85 ] Bonjour à tous!voilà je voudrais poser une question sur les pointeurs!J'ai une tableau où chaque case contient un pointeur vers un autre tableau, et j Mettre un TBitmap en mémoire [ par Matware456 ] Bonjour, Comme le titre l'indique j'aimerais placer un TBitmap en mémoire, c'est à dire le placer entièrement dans la RAM pour pouvoir le réutiliser d pointeurs! [ par Samou85 ] Bonjour à tous!j'ai un tableau de pointeur "T" et et à un moment donné je dois supprimer certaine cases de ce tableau, je voudrais savoir si le fait d Ecrasement de mémoire [ par drolimi ] Je soupçonne fortement qu'une ressource de mon programme est libérée à tort plusieurs fois et que cela cause un écrasement de mémoire. Y-a-til un moye codesoft8 et Font download (polices dans mémoire imprimante ZEBRA) [ par genelacroix ] Bonjour, j'ai fait appel à Teklynx (codesoft8) mais pas de nouvelles. En fait, dans leur logiciel Font downloader qui permet de télécharger en mémoir tableau de tableaux [ par Samou85 ] Bonjour à tous. je voudrais déclarer un tableau dynamique; où chaque case de ce tableau contiendrait un tableau de taille 3, je voudrais savoir est c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,420 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales