Jak w temacie.
Muszę napisać procedurę/funkcję, która będzie wykonywała operacje na wielowymiarowych tablicach dynamicznych.
Gdy składam coś takiego:
function Tab(Tablica:array of string):String;
begin
end;
to niby działa (kompiluje się). To jednak jest parametr w postaci tablicy jednowymiarowej, a ja mam tablice wielowymiarowe.
Zmieniam więc na:
function Tab(Tablica:array of array of string):String;
begin
end;
i wychodzi klops. Kompilator wypluwa:
"Identifier expected but "ARRAY" found".
Jest to dla mnie o tyle dziwne, że deklarowanie w ten sposób tablic jako zmiennych działa poprawnie. Np.:
var
Tablica: array of array of string;
Ponadto nie wiem czemu, ale nie mogę zmieniać długości takiej tablicy z parametru za pomocą SetLength. Wychodzi "Incompatibile Types"... Również jest mi to potrzebne, bo moja funkcja zakłada trwałe modyfikowanie tych tablic (dodawanie i wywalanie rekordów).
Szukałem na forum, czytałem art z kompendium na temat tablic, ale odpowiedzi nie znalazłem.