Показать сообщение отдельно
Старый 19.01.2007, 09:32   #1
ARV
ПроЭктировщик
 
Регистрация: 25.12.2006
Сообщений: 163
Написано 7 полезных сообщений
(для 12 пользователей)
Многомерные массивы записей

Столкнулся с проблемой: пытаюсь применить в программе двумерный массив записей. Похоже, это невозможно в текущей версии Паскаля.
Варианты следующие:
 
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) прокатывают на ура. Так же прокатывают на ура одномерные массивы записей.
Кто что скажет по этому поводу? Баг или я туплю где-то?
(Offline)
 
Ответить с цитированием