mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 10:59:41 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
		
			719 B
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			719 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.
 |