Sólo añadir a las 2 respuestas de Marcos y Héctor que, el array puedes declararlo dinámico si en tiempo de diseño no sabes que longuitud va a tener. Sería algo como...
Código:
type
TdetalleRecibo = record
vrec_numero : integer;
vrec_tipo : string;
vcon_codigo : string;
vdet_valor : currency;
end;
var
Arreglo : array of TdetalleRecibo;
m : integer;
begin
SetLength(Arreglo, 100)
for m := 1 to High(Arreglo) do
begin
Arreglo[m].vrec_numero := 15;
...
...
end;
....
end;