Hätte es halt gerne direkt beim kompilieren.
Hallo,
ich möchte bei einer Case-Anweisung einen Compiler-Fehler bekommen ....
Genau, beim Compilieren kommt der Fehler mit so einer Lösung
CEnum : array[ TEnum ] of String = ( 't1', 't2', 't3' ); //Knallt schon hier, wenn es nicht übereinstimmt
Dass man das jetzt erweitern muss, ist ja genau Sinn des Crashes.
Nebenbei hätte so eine noch weitere Vorteile, also zum Beispiel Textausgabe, Rückgabe beliebiger Werte, etc.
Eventuell sucht Du ja sowas, etwas "Verboseres":
Delphi-Quellcode:
type
TMyEnum = (Value0, Value1, Value2);
const
ExpectedEnumSize = 3; // Erwartete Anzahl der Elemente in TMyEnum
{$IF Ord(High(TMyEnum)) > (ExpectedEnumSize-1) }
{$MESSAGE ERROR 'TMyEnum wurde erweitert!' }
{$ELSEIF Ord(High(TMyEnum)) < (ExpectedEnumSize-1) }
{$MESSAGE ERROR 'TMyEnum wurde verkleinert!' }
{$IFEND}