Sugerencia:
Si los montos van relacionados con los pagos, quizás podría hacerse así también
Código Delphi
[-]
type Datos = record
monto : currency;
comprobante : longword;
end;
type ADatos = array of Datos;
procedure tfrmpagos.Agregar(sender:tobject);
var i:integer;
M: ADatos;
begin
SetLength(M, g_cantidadComprobantes -1);
for i:=0 to g_cantidadcomprobantes-1 do
begin
m[i].comprobante:=g_detallepago[i].id_compra;
m[i].Monto :=g_detallepago[i].monto;
end;
En un hilo reciente se habló de copiar Arrays con la función copy, podría servir aquí, para quitar un bucle:
Código Delphi
[-]
copy(g_detallepago, codigo_comprobante);
Resumiendo, usar un array de records para pasar un solo parámetro a las funciones y usar Copy para copiar arrays enteros de uno a otro.
Espero os sirva.
Saludos