【发布时间】:2010-01-26 08:44:51
【问题描述】:
AFAIK 如果类型未命名,编译器不会生成 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;
【问题讨论】:
标签: delphi delphi-2010 rtti