RTTI에서 일반 레코드를 사용하려고하지만 유형 정보에 문제가 있습니다. 왜 다음은 Delphi 2010을 사용하여 컴파일되지 않는지 아는 사람이 있습니까?일반 레코드 용 Delphi TypeInfo
[DCC Error] GenericTypeInfo.dpr(24): E2134 Type 'TMyInt' has no type info
[DCC Error] GenericTypeInfo.dpr(24): E2134 Type 'TMyString' has no type info
나는 2 사이의 큰 차이는 무엇을 할 수 없습니다
program GenericTypeInfo;
{$APPTYPE CONSOLE}
uses
TypInfo,
SysUtils;
type
TMyRec<T> = record
public
Value: T;
end;
TMyInt = TMyRec<Integer>;
TMyString = TMyRec<String>;
begin
try
Writeln(GetTypeName(TypeInfo(TMyRec<Integer>))); <--- This works fine
Writeln(GetTypeName(TypeInfo(TMyRec<String>))); <--- so does this
Writeln(GetTypeName(TypeInfo(TMyInt))); <--- BUT this won't compile
Writeln(GetTypeName(TypeInfo(TMyString))); <--- nor this!!
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
Readln;
end.
선은 위의 다음과 같은 컴파일러 오류를 생성하여 표시된? 나는 저급 전문가는 아니지만 컴파일러가 왜 이것을 다르게 취급 하는가? TMyInt 및 TMyString 유형에서 작동해야합니다.
도움 주셔서 감사합니다.
컴파일러 보고서를합니까 나는 내 게시물이 포함 했어야 미안 물론 오류 –
예 : [DCC 오류] GenericTypeInfo.dpr (24)가 제네릭에 관해서 E2134 유형 'TMyInt은'어떤 유형의 정보 –
이 없습니다 RTTI 생성은 아직 100 % 완료되지 않았습니다. –