[FEATURE REQUEST] TypInfo.AddEnumElementAliases()/TypInfo.RemoveEnumElementAliases()
Original Reporter info from Mantis: silvioprog
-
Reporter name: silvioprog
Original Reporter info from Mantis: silvioprog
- Reporter name: silvioprog
Description:
Hello,
The AddEnumElementAliases() function allows the programmer to register their own enum aliases, for example:
// the TMyStatus kinds are: stEnabled, stDisabled
AddEnumElementAliases(TypeInfo(TMyStatus), ['On', 'Off'])
AddEnumElementAliases(TypeInfo(Boolean), ['no', 'yes'], 1 {Start value});
AddEnumElementAliases(TypeInfo(Boolean), ['', 'on']);
after registering them, the RTTI functions like GetEnumProp()/SetEnumProp() can access the enums using their aliases instead of their standard kinds and without raising any error.
Unfortunately AddEnumElementAliases() and RemoveEnumElementAliases() don't have any documentation, they have just an entry on their wiki:
-
http://docwiki.embarcadero.com/Libraries/Berlin/en/System.TypInfo.AddEnumElementAliases .
- http://docwiki.embarcadero.com/Libraries/Berlin/en/System.TypInfo.RemoveEnumElementAliases .
but they can be easily understood:
AddEnumElementAliases(): Register one or more alias for the enum kinds. The aliases can be any string or empty string.
RemoveEnumElementAliases(): Unregister all registered aliases for a enum kind.
Mantis conversion info:
- Mantis ID: 30961
- Version: 3.1.1
- Fixed in version: 3.1.1
- Fixed in revision: 36719 (#c788256f)
- Target version: 3.2.0