OVH Cloud OVH Cloud

QueryTable et libération mémoire

1 réponse
Avatar
Philippe
Bonjour à tous,

Je pilote Excel par OLE (instructions lancées à partir d'un programme
borland C++).

Tout marche très bien à une exception près : chaque fois que je lance la
fonction OleFunction("Refresh") d'un objet QueryTable, Excel consomme de la
mémoire mais ne la restitue pas spontanément.

Je n'ai pas trouvé le moyen de libérer cette mémoire : même l'utilisation de
la fonction OleFunction("Delete") sur le QueryTable ne libère pas la mémoire.

C'est seulement quand je quitte Excel que cette mémoire est libérée.

Quelqu'un a t'il une solution pour libérer la mémoire sans avoir à quitter
Excel.

Merci pour toute réponse

Philippe.

1 réponse

Avatar
Ange Ounis
Question récurrente s'il en est (comment contraindre Excel à libérer de la
mémoire "à la volée").
Question malheureusement sans réponse : Excel se verrouille au démarrage un bout
de mémoire vive, travaille dans cet espace protégé (dont les limites sont
relativement vite atteintes dans certaines situations : graphiques, formats,
polices) et n'offre aucune prise pour intervenir dessus, du moins pour autant
que je le sache.

----------
Ange Ounis
----------

Bonjour à tous,

Je pilote Excel par OLE (instructions lancées à partir d'un programme
borland C++).

Tout marche très bien à une exception près : chaque fois que je lance la
fonction OleFunction("Refresh") d'un objet QueryTable, Excel consomme de la
mémoire mais ne la restitue pas spontanément.

Je n'ai pas trouvé le moyen de libérer cette mémoire : même l'utilisation de
la fonction OleFunction("Delete") sur le QueryTable ne libère pas la mémoire.

C'est seulement quand je quitte Excel que cette mémoire est libérée.

Quelqu'un a t'il une solution pour libérer la mémoire sans avoir à quitter
Excel.

Merci pour toute réponse

Philippe.