| 4D v18Tableaux et mémoire | ||||||||||||||||||||||||
| 
 | 
    4D v18
 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 | (1+nombre d'éléments) * (somme de la taille de chaque texte) | 
| 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 | (1+nombre d'éléments) * (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 ON ERR CALL. 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
 ON ERR CALL("GESTION ERREUR") ` Installation de la méthode de gestion d'erreurs
 ARRAY STRING(63;asCeTableau;50000) ` Environ 3125 Ko en mode ASCII
 ARRAY REAL(arCetAutreTableau;50000) ` 488 Ko
 ON ERR CALL("") ` Il n'est plus nécessaire d'intercepter les erreurs
 If(gError=0)
  //  Les tableaux ont pu être créés
  //  poursuivons l'opération
 Else
    ALERT("Cette opération requiert davantage de mémoire !")
 End if
  //  Dans tous les cas, nous n'avons plus besoin des tableaux
 CLEAR VARIABLE(asCeTableau)
 CLEAR 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
	
        
        
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	4D - Langage ( 4D v18)
	
	
	
	
	
 Ajouter un commentaire
Ajouter un commentaire