Erreur EOutofMemory depuis migration des sources Delphi 2009 vers XE3 [Résolu]

Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
18 décembre 2013
- - Dernière réponse : grandyaka54
Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
18 décembre 2013
- 3 juil. 2013 à 10:08
Depuis peu, j'ai migré un projet sous Delphi 2009 sur un poste sous XP Pro (2Go de ram, SP3 vers XE3) sur un poste en Win7 (64bits, 3Go de ram).
J'utilise les composants IBx pour me connecter et travailler avec la BDD sous Firebird.

Le programme prend un fichier texte avec x lignes de longueur 120 et le transforme après divers contrôles vers un fichier au format XML.
Dans le fichier texte, chaque ligne correspond à un tiers avec un montant, BBAN/IBAN, etc....

Je prends un fichier qui contient 6914 lignes (1.06 mo), donc 6914 tiers.
Si le fichier est ok, on enregistre chaque ligne dans une table LOT pour ensuite l'afficher dans un DBGrid (via un DataSource).

Pendant le traitement de chaque ligne, on contrôle la présence du tiers dans une table TIERS.
S'il existe (SELECT OPEN CLOSE), on ne fait rien et s'il n'existe pas, on insère le tiers (INSERT ExecSQL et COMMIT).

Dans tous les cas, on insère (INSERT et ExecSQL) chaque ligne du fichier dans la table LOT et on commit uniquement à la fin des contrôles.

Du coup, j'ai mis en place 2 transactions, une pour la table LOT et une pour la table TIERS.

Sous XP, tout fonctionne impeccable.
En revanche sous Win7, avec ce même fichier j'ai systématiquement une erreur EOutofMemory vers la 5000 ème ligne sur 6914 quand je contrôle la présence du Tiers dans la Table TIERS.

Avez-vous déjà fait face à ce problème.

Merci pour votre aide et si vous avez besoin d'autres informations...

Cordialement.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
18 décembre 2013
4
3
Merci
Bonjour,

Mon problème concernant l'erreur EOutofMemory depuis la migration de mes sources Delphi 2009 vers XE3 a été résolu en installant la mise à jour pour Delphi XE3. Il devait s'agir d'un bug qui a été corrigé.

Cordialement,

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de grandyaka54
Messages postés
97
Date d'inscription
vendredi 19 octobre 2007
Statut
Membre
Dernière intervention
18 décembre 2013
4
0
Merci
Bonjour,

J'apporte quelques précisions.

En dehors de mon cas exposé ci-dessus, avez-vous déjà rencontré des problèmes de mémoires insuffisantes (EOutMemory) suite à la migration d'un projet sous Delphi 2009 vers XE3 ?

Pensez-vous que le problème vienne de la migration du code ? Ou des composants IBx que j'utilise.

Merci d'avance.

Cordialement,
Commenter la réponse de grandyaka54