[lazarus] i'm confused...

Florian Klaempfl Florian.Klaempfl at gmx.de
Sun Apr 30 16:14:08 EDT 2000

dvortex wrote:
> Hey guys.. can someone explain me how to use the GetPropList stuff ?
> I don't quite grab the principle of it.
> when i first looked at it, i though i would just pass an object to it (or
> something like that) and that it would return some list of pointers to
> different properties and methods ?!? now it doesn't make sense to me...
> is it just a matter of having:
> -----8<-----8<-----
> var
>   tempPropInfo: TPropInfo;
>   tempPropList: TPropList;
> [...]
> { we want to inspect a class}
>   tempPropInfo.DataKind := dtTClass;
> { the instance that is called "Object1" }
>   tempPropInfo.Name := 'Object1';

You've to do something like:

   pi : ptypeinfo;
   pp : pproplist;
   pt : ptypedata;
   pri : ppropinfo;

   pi:=o.classinfo;  { o is the class you want to inspect }
   // Now you can play with pp:
   for i:=0 to pt^.propcount-1 do
        case pri^.proptype^.kind of
             writeln('Value of: ',pri^.name,GetFloatValue(o,pri));

I'll send our test program for rtti to your private email (everybody can get
it doing 
cvs checkout tests 
(it's the file tests\test\testrtti.pp)
I think it's a very good example about using rtti.

If you've still questions, feel free to ask, I coded most of FPCs rtti stuff.

More information about the Lazarus mailing list