Doch, denn das nach dem IN ist ein SET.
TMenge kann intern Byte, Word oder LongWord sein, also bis 4 Millarden Werte enthalten,
aber als SET ist hier maximal Byte-ENUM erlaubt. (bis 256 Werte aka Bits = 32 Byte)
Man kann über eine Funktion das Set durch ein Array ersetzen, am Besten als OpenArray, um hier auch die direkte Angabe zu unterstützen.
Delphi-Quellcode:
if ContainsMenge(Menge, [m256]) then ;
function ContainsMenge(Value: TMenge, List: array of TMenge): Boolean;
In neuren Delphis könnte man auf die Idee kommen das als ClassOperator zu bauen, aber leider verfällt Delphi immer beim [...] auf EMUM zurück und prüft erst dann ob es einen Operator gibt.