[fpc-pascal] Unrelated type helpers with the same members? Implement an interface with a type helper?

Michael Van Canneyt michael at freepascal.org
Fri Dec 23 08:18:50 CET 2022



On Thu, 22 Dec 2022, Andrew Haines via fpc-pascal wrote:

> Hi what I want to do is similar to this question here: 
> https://en.delphipraxis.net/topic/423-rtti-determine-record-helper-type-for-a-base-type/
>
> I am going to create multiple type helpers for enums and I would like to look 
> up the helper and use common methods AsString AsOrdinal to get/set the 
> values. I am recieving them as json that I dont have control over. I am using 
> typeinfo to fill in all the properties but I would like to convert the 
> strings I am receiving to the enum values semi-automatically.
>
> LString := 'STATUS';
>
> LHelper := GetHelper(LPropInfo^.PropType); // enum proptype

Since there can be multiple type helpers for a type, this will never be
possible. At best you would get a list.

But I don't think there is even a list of type helpers per type.
Sven will need to confirm.

In your case, I would simply register a function that does this for each
known enum type.

Michael.



More information about the fpc-pascal mailing list