Hola Alejo:
Lo que Delphi no admite es pasar
arrays dinámicos multidimensionales por eso te puse la opción que puedes ver en mi mensaje anterior, con la que vienes a lograr una matriz bidimensional, basando un array dinámico de una dimensión en un tipo que a su vez es otro array dinámico de una dimensión.
Esa limitación se aplica a arrays dinámicos, si el array es estático, sí que puedes pasarlo como parámetro aunque sea bidimensional, ejemplo:
Código:
type
TMatriz = array [0..100, 0.. 50] of Byte;
function CalculaElementos (Lista: TMatriz) : Integer;
var
i, j : Integer;
begin
result := 0;
for i:=Low(Lista) to High(Lista) do
for j:=Low(Lista[i]) to High(Lista[i]) do Inc (result);
end;
La diferencia entre dinámicos y estáticos es que en unos no sabes a priori cuántos elementos tienen y en los otros están definidos sus límites desde la sección
type.