Столкнулся с проблемой: пытаюсь применить в программе двумерный массив записей. Похоже, это невозможно в текущей версии Паскаля.
Варианты следующие:
type
Trec = record
V : integer;
S : string;
end;
Tarray = array[1..4, 1..12] of Trec;
var
Buf : Trec;
вываливается по внутренней ошибке компиляции 204 (кажется), причем использование переменной даже не требуется. Попытка описать переменную сразу с типа
array[1..4, 1..12] of record begin .... end; дает тот же результат.
type
Trec = record
V : integer;
S : string;
end;
Tarr1 = array[1..4] of Trec;
Tarray = array[1..12] of Tarr1;
var
Buf : Tarray;
Компилируется без ошибок, но если в теле программы пытаться использовать переменную Buf - мидлет просто виснет тихо и молча. Использовать пытаюсь примерно так
Buf[1][1].S := '3'.
Варианты двутерных массивов простых типов (например,
integer) прокатывают на ура. Так же прокатывают на ура одномерные массивы записей.
Кто что скажет по этому поводу? Баг или я туплю где-то?