No queda muy claro el planteamiento, pero quizá sirva de algo aclarar que la función SizeOf no regresa el tamaño de una matriz (número de elementos) sino el monto de bytes que ocupa una variable o tipo de dato. Las variables de tipo
matriz dinámica (como
rbuf y
fbuf, en tu código) son simples punteros hacia la región de memoria donde se almacena la matriz en sí. Y, como todo puntero estándar, su tamaño es de 32 bits (4 bytes).
Si quieres obtener la cantidad de elementos de una matriz, usa la función
Length.
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
Var
A :Array Of Integer;
begin
SetLength (A, 10);
ShowMessage (IntToStr (SizeOf (A))); ShowMessage (IntToStr (Length (A))); end;
Saludos.
Al González.