Mehrdimensionale Arrays kann man AFAIK nicht als offene Arrays übergeben, aber wenn man typisiert, sollte das klappen. Schnell unter Lazarus zusammengetippt und ausprobiert:
Delphi-Quellcode:
type
TStringArray = array of string;
procedure ShowValues(const ValueArrays: array of TStringArray);
var
i, j: integer;
begin
for i := Low(ValueArrays) to High(ValueArrays) do
for j := Low(ValueArrays[i]) to High(ValueArrays[i]) do
ShowMessage(ValueArrays[i, j]);
end;
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
Arr1, Arr2: TStringArray;
begin
SetLength(Arr1, 2);
Arr1[0] := 'Hallo';
Arr1[1] := 'Welt';
SetLength(Arr2, 3);
Arr2[0] := 'Hier';
Arr2[1] := 'bin';
Arr2[2] := 'ich';
ShowValues([Arr1, Arr2]);
Arr1 := nil;
Arr2 := nil;
end;
Kann aber auch sein, dass ich das Problem nicht richtig verstanden habe.