Puede pasar un array como parámetro a un comando 4D o a la rutina de un plug-in 4D. Por el contrario, no puede pasar un array como parámetro a un método de usuario. La alternativa es pasar un puntero al array como parámetro del método.
 Nota: puede pasar arrays de proceso e interproceso como parámetros, pero no arrays locales.
 Estos son algunos ejemplos.
  If((0<atNombres)&(atNombres<Size of array(atNombres))
  
    atNombres:=atNombres+1
 End if
Si necesita hacer lo mismo para 50 arrays diferentes, puede evitar escribir lo mismo 50 veces, utilizando el siguiente método de proyecto:
   
  
  
 
 C_POINTER($1)
 
 If((0<$1->)&($1-><Size of array($1->))
    $1->:=$1->+1 
 End if
Luego, puede escribir:
  SELECCIONAR SIGUIENTE ELEMENTO(->atNombres)
  
 SELECCIONAR SIGUIENTE ELEMENTO(->asCodigosPostales)
  
 SELECCIONAR SIGUIENTE ELEMENTO(->aiIDRegistros)
  
- El siguiente método de proyecto devuelve la suma de todos los elementos de un array numérico (Entero, Entero largo, o real):
  
  
  
 
 C_REAL($0)
 
 $0:=0
 For($vlElem;1;Size of array($1->))
    $0:=$0+$1->{$vlElem}
 End for
Nota: desde 4D v13, puede utilizar la función Sum para efectuar la suma de los elementos de un array numérico. 
Luego, puede escribir:
  $vlSum:=Suma Array(->arSalarios)
  
 $vlSum:=Suma Array(->aiDefectCounts)
  
 $vlSum:=Suma Array(->alPoblacion)
• El siguiente método de proyecto pasa a mayúsculas todos los elementos de un array alfa o texto:
   
  
  
 
 For($vlElem;1;Size of array($1->))
    If($1->{$vlElem}#"")
       $1->{$vlElem}:=Uppercase($1->{$vlElem}[[1]])+Lowercase(Substring($1->{$vlElem};2))
    End if
 End for
Luego, puede escribir:
  MAYUSCULAS ARRAY(->atTemas)
  
 MAYUSCULAS ARRAY(->asApellidos)
La combinación de arrays, punterors, y estructuras de bucles, tales como For... End for, le permite escribir muchos métodos de proyecto útiles para manejar arrays.