Bonjour à tous,
Je suis en train de tenter de régler des problèmes de consommation mémoire sur une appli VB6
Cette appli se connecter à une base SQL Server et traite un ensemble de ligne dans une fichier texte pour les intégrer dans les tables de la base.
Mon problème est le suivant. Au fur et à mesure de l'avancement du traitement, la consommation mémoire de l'appli augmente.
Après quelques recherches, j'ai rajouté les destructions d'objet qui manquaient (set xx = nothing), j'ai modifié la portée de certaines variables, j'ai optimisé mes requetes... mais voilà, il y a encore une perte mémoire...
en faisant du pas à pas, j'ai pu noté que l'entrait dans des fonctions présentes dans des modules généraient l'allocation de 4ko supplémentaire sans libération à la sortie de la fonction.
D'autre part, régulièrement je crée un recordset avec l'instruction "New", je l'ouvre, effectue mes traitements, le ferme (Close) et le détruit => nothing.
Je constate que la ram occupée par cet objet n'est pas libérée immédiatement non plus !?
Au début de la fonction principale d'intégration de mes données, j'ai mis un point d'arret, j'en ai fait de même à la sortie de la fonction. Au début et à la fin, je note la ram occupée par l'appli... et elle augmente alors que tous mes objets sont bien détruits ...
D'un point de vue globale quelqu'un peut il me dire quand la ram est réellement libérée sous vb ?
Quels autres axes puis je explorer pour combler ces "fuites" mémoires ?
bref, je tourne en rond...

Je voudrais bien réécrire en .Net mais à ce jour, c'est impossible....
bref, j'en appelle aux idées de chacun
merci
Pat
Don't Worry
, Be Happy 
lorsque le problème est résolu, pensez Réponse Acceptée
