Partager via


xlFree (traduction automatique)

Dernière modification : mercredi 18 mars 2009

S’applique à : Excel 2010 | Office 2010 | VBA | Visual Studio

Important

Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Utilisée pour libérer les ressources mémoire allouées par Microsoft Excel lors de la création du XLOPER/XLOPER12 de la valeur de retour dans un appel à Excel4, Excel4v, Excel12 ou Excel12v. La fonction xlFree libère la mémoire auxiliaire et réinitialise le pointeur à NULL mais ne détruit pas les autres parties de XLOPER/XLOPER12.

Excel4(xlFree, 0, n, LPXLOPER px_1, ..., LPXLOPER px_n);
Excel12(xlFree, 0, n, LPXLOPER12 px_1, ..., LPXLOPER12 px_n);

Paramètres

px_1, ..., px_n

Un ou plusieurs XLOPER/XLOPER12s à libérer. Dans les versions d'Excel à 2003, le nombre maximal de pointeurs qui peut être passé est 30. À partir de Excel 2007, cela est augmentée à 255.

Valeur de propriété/Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Notes

Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Remarques

Vous devez libérer toutes les XLOPER qui s'affiche comme valeur de retour de Excel4 ou Excel4v et chaque XLOPER12 que vous obtenez comme valeur de retour de Excel12 ou Excel12v s'il s'agit des types suivants : xltypeStr, xltypeMulti, ou xltypeRef. Il est toujours prudent libérer les autres types même si elles n'utilisent pas de mémoire auxiliaire, tant que vous avez obtenu à partir de Excel4 ou Excel12.

Lorsque vous renvoyez à Excel un pointeur vers un XLOPER/XLOPER12 contient toujours la mémoire allouée Excel à libérer, vous devez définir le xlbitXLFree afin de garantir les versions d'Excel la mémoire.

Exemple

Cet exemple appelle GET.WORKSPACE(1) pour renvoyer la plate-forme sur laquelle Excel est en cours d'exécution sous forme de chaîne. Le code copie cela a renvoyé de la chaîne dans une mémoire tampon pour une utilisation ultérieure. Le code replace la mémoire tampon dans le XLOPER12 pour une utilisation ultérieure avec la fonction d'Excel. Enfin, le code affiche la chaîne dans un message d'alerte.

\SAMPLES\EXAMPLE\EXAMPLE.C

short WINAPI xlFreeExample(void)
{

   XLOPER12 xRes, xInt;
   XCHAR buffer[cchMaxStz];
   int i,len;

   // Create an XLOPER12 for the argument to Getworkspace.
   xInt.xltype = xltypeInt;
   xInt.val.w = 1;
   // Call GetWorkspace.
   Excel12f(xlfGetWorkspace, &xRes, 1, (LPXLOPER12)&xInt);
   
   // Get the length of the returned string
   len = (int)xRes.val.str[0];
   //Take into account 1st char, which contains the length
   //and the null terminator. Truncate if necessary to fit
   //buffer.
   if (len > cchMaxStz - 2)
      len = cchMaxStz - 2;

   // Copy to buffer.
   for(i = 1; i <= len; i++)
      buffer[i] = xRes.val.str[i];

   // Null terminate, Not necessary but a good idea.
   buffer[len] = '\0';
   buffer[0] = len;

   // Free the string returned from Excel.
   Excel12f(xlFree, 0, 1, &xRes);

   // Create a new string XLOPER12 for the alert.
   xRes.xltype = xltypeStr;
   xRes.val.str = buffer;

   // Show the alert.
   Excel12f(xlcAlert, 0, 1, (LPXLOPER12)&xRes);
   return 1;
}

Voir aussi

Concepts

Fonctions de l’API C appelables uniquement depuis une DLL ou XLL (traduction automatique)