mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-07-05 09:18:39 +02:00
34 lines
722 B
ObjectPascal
34 lines
722 B
ObjectPascal
Program example13;
|
|
|
|
{ This program demonstrates the FindPropInfo function }
|
|
|
|
{$mode objfpc}
|
|
|
|
uses
|
|
rttiobj,typinfo,sysutils;
|
|
|
|
|
|
Var
|
|
O : TMyTestObject;
|
|
PT : PTypeData;
|
|
PI : PPropInfo;
|
|
I,J : Longint;
|
|
PP : PPropList;
|
|
prI : PPropInfo;
|
|
|
|
begin
|
|
O:=TMyTestObject.Create;
|
|
PI:=FindPropInfo(O,'BooleanField');
|
|
Writeln('FindPropInfo(Instance,BooleanField) : ',PI^.Name);
|
|
PI:=FindPropInfo(O.ClassType,'ByteField');
|
|
Writeln('FindPropInfo(Class,ByteField) : ',PI^.Name);
|
|
Write ('FindPropInfo(Class,NonExistingProp) : ');
|
|
Try
|
|
PI:=FindPropInfo(O,'NonExistingProp');
|
|
except
|
|
On E: Exception do
|
|
Writeln('Caught exception "',E.ClassName,'" with message : ',E.Message);
|
|
end;
|
|
O.Free;
|
|
end.
|