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

Sven Barth pascaldragon at googlemail.com
Fri Dec 23 10:40:52 CET 2022


Michael Van Canneyt via fpc-pascal <fpc-pascal at lists.freepascal.org>
schrieb am Fr., 23. Dez. 2022, 08:18:

>
>
> 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.
>

As the active helper(s) for a type change(s) depending on the current scope
(e.g. in unit A it might be a different helper than in unit B) this is not
possible. Also helpers are not in any way usable on their own except to
retrieve their RTTI information.

Regards,
Sven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20221223/0bce210e/attachment.htm>


More information about the fpc-pascal mailing list