Bonjour a tous...
J'ai un petit bout de code qui exporte le résultat d'une requete (TQuery) dans un fichier EXCEL en utilisant OLE.
Le code fonctionne parfaitement mais il génère des fuites de mémoire (détectées avec MemProof).
Voici un extrait du code:
Je n'ai pas l'habitude de manipuler des Variant , donc peut etre que je m'y prend mal... Quelqu'un a-t-il une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Variant vValue, vCell, vRange ; int index = 0 ; // [...] vRange = "A1"; vCell = vWorksheet.OlePropertyGet("Range", vRange); while( !monQuery->Eof ) { vValue = StringToOleStr( monQuery->FieldbyName("MonChamp")->AsString ) ; vCell.OlePropertySet("Offset", index, 0, vValue ); vValue = Unassigned ; // En théorie libère la mémoire, mais apparemment non index ++ ; monQuery->Next() ; }
Merci d'avance.
Partager