Hi,
AFAIK the compiler does not generate RTTI if the type is not named. eg: T = array[0..1,0..1] of Integer; In this case it is possible to know the total size of the array, but it is impossible to know the size of each dimension.
It works only if I use a type explicitly named: T01 = 0..1; T = array[T01,T01] of Integer;
I missed something?
Test code:
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;