AFAIK 형식이 명명되지 않은 경우 컴파일러에서 RTTI를 생성하지 않습니다. 예 : Integer의 T = array [0..1,0.1.1]; 이 경우 배열의 전체 크기를 알 수 있지만 각 차원의 크기를 알 수는 없습니다.unamed 데이터 형식에 대한 RTTI 없음
명시 적으로 명명 된 유형을 사용하는 경우에만 작동합니다 : 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 2010의 새로운 RTTI에 대해 ... 내 질문을 이해 했습니까? –
@Henri : 내가 한 일은, 당신이이 작업을 위해 RTTI를 필요로하지 않는다는 것을 의미합니다. RTTI 인터페이스를 고집한다면 (왜?), 나는 생각을하지 못합니다. –
내가 superobject의 저자이기 때문에 json 파서가 http://www.progdigy.com/?page_id=6 RTT를 사용하여 기본 유형을 json으로 자동 직렬화합니다. –