[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