| 4D v13.4Tableaux et mémoire | ||||||||||||||||||||||||||||
| 
 | 
    4D v13.4
 Tableaux et mémoire 
         | |||||||||||||||||||||||||||
| Type de Tableau | Calcul de la quantité de mémoire en octets | 
| Booléen | (31+nombre d'éléments)/8 | 
| Date | (1+nombre d'éléments) * 6 | 
| Alpha (mode Unicode) | (1+nombre d'éléments) * (somme de la taille de chaque texte) | 
| Alpha (mode compatibilité ASCII) | (1+nombre d'éléments) * longueur déclarée (+1 si impair, +2 si pair) | 
| Entier | (1+nombre d'éléments) * 2 | 
| Entier long | (1+nombre d'éléments) * 4 | 
| Image | (1+nombre d'éléments) * 4 + somme de la taille de chaque image | 
| Pointeur | (1+nombre d'éléments) * 16 | 
| Réel | (1+nombre d'éléments) * 8 | 
| Texte (mode Unicode) | (1+nombre d'éléments) * (somme de la taille de chaque texte) | 
| Texte (mode compatibilité ASCII) | (1+nombre d'éléments) * 6 + somme de la taille de chaque texte | 
| Deux dimensions | (1+nombre d'éléments) * 12 + somme de la taille de chaque tableau | 
Notes :
Lorsque vous travaillez avec de très grands tableaux, la meilleure façon de gérer d'éventuels problèmes de saturation de la mémoire est d'accompagner la création de tableau d'une méthode projet APPELER SUR ERREUR. Exemple :
  ` Vous allez lancer une opération batch fonctionnant toute la nuit
  ` qui requiert la création de grands tableaux. Pour éviter
  ` des erreurs en pleine nuit, créez les tableaux au début de
  ` l'opération et testez les erreurs au même moment :
 gError:=0 ` Initialisation
 APPELER SUR ERREUR("GESTION ERREUR") ` Installation de la méthode de gestion d'erreurs
 TABLEAU ALPHA(63;asCeTableau;50000) ` Environ 3125 Ko en mode ASCII
 TABLEAU REEL(arCetAutreTableau;50000) ` 488 Ko
 APPELER SUR ERREUR("") ` Il n'est plus nécessaire d'intercepter les erreurs
 Si(gError=0)
  ` Les tableaux ont pu être créés
  ` poursuivons l'opération
 Sinon
    ALERTE("Cette opération requiert davantage de mémoire !")
 Fin de si
  ` Dans tous les cas, nous n'avons plus besoin des tableaux
 EFFACER VARIABLE(asCeTableau)
 EFFACER VARIABLE(arCetAutreTableau)La méthode projet GESTION ERREUR est la suivante :
  ` Méthode projet GESTION ERREUR
 gError:=Error ` Retourner le code d'erreur
	Produit :  4D
	Thème :  Tableaux
	
        
        
	Nom intl. :  Arrays and Memory
APPELER SUR ERREUR
Présentation des tableaux