Насколько мне известно, компилятор не генерирует RTTI, если тип не указан. например: T = массив [0..1,0..1] целых чисел; В этом случае можно узнать общий размер массива, но невозможно узнать размер каждого измерения.
Это работает, только если я использую тип с явным именем: T01 = 0..1; T = массив [T01,T01] целых чисел;
Я что-то пропустил?
Тестовый код:
type
t = array[0..1, 0..1] of Integer;
procedure test;
var
i: PTypeInfo;
d: TArrayTypeData;
begin
i := TypeInfo(t);
assert(i.Kind = tkArray);
d := GetTypeData(i).ArrayData;
end;