Fuite de mémoire StringToOleStr()
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:
Code:
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() ;
} |
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?
Merci d'avance.