ex12.pp 652 B

1234567891011121314151617181920212223242526272829303132333435
  1. Program example12;
  2. { This program demonstrates the GetPropInfos function }
  3. uses
  4. rttiobj,typinfo;
  5. Var
  6. O : TMyTestObject;
  7. PT : PTypeData;
  8. PI : PTypeInfo;
  9. I,J : Longint;
  10. PP : PPropList;
  11. prI : PPropInfo;
  12. begin
  13. O:=TMyTestObject.Create;
  14. PI:=O.ClassInfo;
  15. PT:=GetTypeData(PI);
  16. Writeln('Property Count : ',PT^.PropCount);
  17. GetMem (PP,PT^.PropCount*SizeOf(Pointer));
  18. GetPropInfos(PI,PP);
  19. For I:=0 to PT^.PropCount-1 do
  20. begin
  21. With PP^[i]^ do
  22. begin
  23. Write('Property ',i+1:3,': ',name:30);
  24. writeln(' Type: ',TypeNames[typinfo.PropType(O,Name)]);
  25. end;
  26. end;
  27. FreeMem(PP);
  28. O.Free;
  29. end.