Anzahl := Ord(High(TDeinEnum)) + 1;
.
PS: Wenn man die einzelnen Felder ds ENums mit einem Wert vorbelegt hätte, dann hat dieser Type keine detailierte
RTTI und man kommt sowieso nicht weiter, da man dann die Felder nicht auflisten kann.
Die
RTTI hilft also nur, wenn die einzelnen Enumwerte aufeinanderfolgend, von 0 beginnend sind ... und bei diesem Standardfall kann man es auch direkt berechnen (siehe oben)
Vorbelegung:
TMyENum = (ein, zwei, zehn=10);