2
나는 .. 레코드 유형의 모든 콘스탄스 값을 열거 내가 와나를 RTTI 몇 가지 문제를 가지고 열거 헌장 기록 필드
type TMyRecord = record
const
value1: Integer=10;
value2: Integer=13;
value3: Integer=18;
value4: Integer=22;
end;
procedure TForm3.Button1Click(Sender: TObject);
var
ctx:TRttiContext ;
Field:rtti.TRttiField ;
begin
for Field in ctx.GetType(TypeInfo(TMyRecord)).GetFields do
ListBox1.Items.Add(Field.Name ); // i got nothing
end;
하지만 내 기록은, 내 코드가 작동 벌금 const를하지 않을 때
type TMyRecord = record
value1: Integer;
value2: Integer;
value3: Integer;
value4: Integer;
end;
procedure TForm3.Button1Click(Sender: TObject);
var
ctx:TRttiContext ;
Field:rtti.TRttiField ;
begin
for Field in ctx.GetType(TypeInfo(TMyRecord)).GetFields do
ListBox1.Items.Add(Field.Name ); //its work
end;
이는 RTTI는 상수를 지원하지 않기 때문에 – RRUZ