| 4D v18Arrays y memoria | ||||||||||||||||||||||||
| 
 | 
    4D v18
 Arrays y memoria 
         | |||||||||||||||||||||||
| Tipo de array | Fórmula para determinar la cantidad de memoria utilizada en bytes | 
| Booleano | (31+Número de elementos)\8 | 
| Fecha | (1+Número de elementos) * 6 | 
| Alfa (modo Unicode) | (1+Número de elementos) * (Suma del tamaño de cada texto) | 
| Entero | (1+Número de elementos) * 2 | 
| Entero largo | (1+Número de elementos) * 4 | 
| Imagen | (1+Número de elementos) * 4 + Suma del tamaño de cada imagen | 
| Puntero | (1+Número de elementos) * 16 | 
| Real | (1+Número de elementos) * 8 | 
| Texto (modo Unicode) | (1+Número de elementos) * 6 + Suma del tamaño de cada texto | 
| Dos dimensiones | (1+Número de elementos) * 12 + Suma del tamaño de cada array | 
Notas:
Cuando trabaja con arrays muy grandes, la mejor forma de manejar las situaciones de saturación de la memoria es acompañar la creación del array de un método de proyecto ON ERR CALL. Ejemplo:
  ` Usted va a ejecutar una operación por lotes toda la noche
  ` que requiere la creación de arrays grandes. Para evitar
  ` errores en la noche, cree los arrays al comienzo de la operación
  ` y pruebe los errores en este momento:
 gError:=0 ` Inicialización
 ON ERR CALL("MANEJO DE ERRORES") ` Instalación del método de gestión de errores
 ARRAY STRING(63;asEsteArray;50000) ` Apróximadamente 3125K en modo ASCII
 ARRAY REAL(arOtroArray;50000) ` 488K
 ON ERR CALL("") `Ya no es necesario interceptar errores
 If(gError=0)
  ` Los arrays pudieron ser creados
  ` y vamos a seguir con la operación
 Else
    ALERT("Esta operación necesita más memoria")
 End if
  ` Cualquiera que sea el caso, no necesitamos más los arrays
 CLEAR VARIABLE(asEsteArray)
 CLEAR VARIABLE(arOtroArray)El método de proyecto MANEJO DE ERRORES es el siguiente:
  ` Método de proyecto MANEJO DE ERRORES
 gError:=Error ` Devolver el código del error
	Producto: 4D
	Tema: Arrays
	
        
        
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	Manual de lenguaje 4D ( 4D v18)
	
	
	
	
	
 Añadir un comentario
Añadir un comentario