Bonjour
Même si j'ai Berlin, j'utilise encore D6, pour la manipulation des chaînes, je suis plus à l'aise.
Au début j'avais un array of array of array of array of single: pour économiser de la place, mais pour tenter de trouver plus facilement l'erreur eOutOfMemory,
je suis passer a un vecteur statique surdimensionné de [0..300,0..630,0..5,0..1] pour voir si l'allocation initiale de la mémoire poserait problème... Le programme plantait sensiblement au même endroit... soit à peut près au milieu du travail à faire.
J'ai passé presque deux jours à chercher pourquoi cette une erreur sur D6, dont le gestionnaire de tache de Windows ne trouve pas particulièrement gros: ~ 500 MégaOctets, mais c'est passablement plus gros que la mémoire que j'ai estimé... Pour trouver la source du problème j'ai aussi autre recyclé des objets plutôt que de les détruire et de les recréer à chaque fois... Sans succès... Où pouvait bien ce trouver l'erreur de programmation qui corrompait la gestion de mémoire?
J'ai donc décidé de porter le programme sur Berlin pour voir si il ne serais pas plus bavard...
Le problème c'est qu'il a fonctionné parfaitement en utilisant moins de mémoire...
Vous auriez une idée? (Hormis de migrer totalement sur Berlin)
Merci d'avance
Partager