Interface Excel + Dll C++ [Résolu]

Signaler
Messages postés
3
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
3 novembre 2008
-
Messages postés
3
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
3 novembre 2008
-
Bonjour à tous,

J'ai programmé un outil, organisé autour d'une interface Excel faisant appel à une dll (release) developpée en C++ dans laquelle se trouve le tratitement à réaliser. Cette dll contient de nombreuses boucles (Méthode de Monte carlo) et entraine la saturation de la mémoire allouée au processus Excel se traduisant par le message d'erreur Abnormal Termination et crachant Excel.

Avez déjà recontré ce type de problème?

si oui comme le résoudre, ou comment le contourner?

Merci par avance
 


you watch at your watch and your watch watch you

5 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Mets un messagebox par alloc et 1 par desalloc, tu verras si le compte y est.

ciao...
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Mieux, écris dans un fichier log, sera moins casse burnes.

ciao...
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Il y a donc problème mémoire dans ton code de DLL mais sans ce code, personne ne pourra rien dire.

ciao...
BruNews, MVP VC++
Messages postés
3
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
3 novembre 2008

Mon code est organisé sous forme de classe en constructeur et destructeur donc la mémoire est théoriquement bien gérée.

Cependant si je lance la dll via ma plateforme Xl une première cela fonctionne normalement. Au deuxième coup Xl crache et ils'avère que la mémoire associée au processus XL ne s'était pas libérée...

Une idée??
 
Messages postés
3
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
3 novembre 2008

Merci pour l'idée.. j'ai tester et à la fin les destructeurs interviennent bien tous.

Cependant la mémoire associée au processus excel reste constante et e se vide pas alors que l'éxécution du programme est terminée.

Seule la fermeture du classeur excel entraine la libération dela mémoire!!!