Hola,
Tal vez puedas hacer algo parecido a esto. Nota que, por claridad, he usado "strings" en lugar de "bytes". Primero declaramos dos tipos de array, de una y de dos dimensiones:
Código Delphi
[-]
type
TOneDimensionalArray = array of string;
TTwoDimensionalArray = array of array of string;
A continuación nuestro procedimiento "Calculate", que, recibe como argumento un array de una dimensión:
Código Delphi
[-]
procedure Calculate( anArray : TOneDimensionalArray );
begin
ShowMessage( anArray[ 0 ] );
end;
El siguiente es el código en que hacemos uso de lo anterior:
Código Delphi
[-]
var
tda : TTwoDimensionalArray;
begin
SetLength( tda, 1 );
SetLength( tda[ 0 ], 1 );
tda[ 0 ][ 0 ] := 'Hello world!';
Calculate( TOneDimensionalArray( tda[ 0 ] ) );
end;
Todo el código junto en una unidad/formulario:
Código Delphi
[-]
unit UMainForm;
interface
uses
Forms, Classes, Controls, StdCtrls;
type
TMainForm = class(TForm)
SampleButton: TButton;
procedure SampleButtonClick(Sender: TObject);
end;
var
MainForm: TMainForm;
implementation
{$R *.dfm}
uses
Dialogs;
type
TOneDimensionalArray = array of string;
TTwoDimensionalArray = array of array of string;
procedure Calculate( anArray : TOneDimensionalArray );
begin
ShowMessage( anArray[ 0 ] ); end;
procedure TMainForm.SampleButtonClick(Sender: TObject);
var
tda : TTwoDimensionalArray;
begin
SetLength( tda, 1 );
SetLength( tda[ 0 ], 1 );
tda[ 0 ][ 0 ] := 'Hello world!';
Calculate( TOneDimensionalArray( tda[ 0 ] ) );
end;
end.
Nota que sería bien cambiar el nombre de los tipos de array a unos más descriptivos.