Registriert seit: 19. Sep 2011
Ort: Deutschland
488 Beiträge
Delphi 11 Alexandria
|
AW: "Keine Typinformationen" von Enum Type. Was könnte ich tun?
13. Feb 2018, 06:01
Enums mit Lücken oder jene, die nicht bei 0 starten haben keine TypInfo.
Der Grund hier ist recht einfach: Der Typ existiert zur Laufzeit nämlich überhaupt nicht mehr, sondern wird zur Designzeit in einen Standard-Ordinal aufgelöst und die Zugriffe so umgeschrieben, dass sie dann zu den entsprechenden Werten passen. Sprich: Eine Aufzählung, die nicht dem Standardformat entspricht, ist in wirklichkeit gar keine Aufzählung sondern wird vom Compiler in Ordinalzahlen gewrappt. Also keine Typinfo.
Eine Erweiterung der System.TypInfo wird dir hier auch nicht helfen, da für den Typen ja nicht nur die Typeinfo nicht gelesen werden kann, sondern sie auch aus dem oben genannten Grund gar nicht erst erzeugt werden kann (sagt die Fehlermeldung im Grunde auch schon).
Also zu deiner Frage: Nein, es ist schlichtweg nicht möglich. Die einzige Möglichkeit, die Ginge, wäre, mit einem eigenen ordinalen Aliastypen und entsprechend typisierten Konstanten zu arbeiten.
Dennis
|