ok, man sollte natürlich davon ausgehen, dass der integer auch gescheit gefüllt ist, d.h. dass das richtige der 4 bytes mit einem korrekten wert gefüllt ist. das sollte z.b. ja auch so gehen:
Code:
type TMyEnum = (cEins, cHundert, cTausend);
var i: Integer;
s: set of TMyEnum;
begin
i := Integer(cEins);
s := [cEins, cHundert];
if TMyEnum(i) in s then
//...
end;
über den sinn von sowas lässt sich natürlich streiten (ich würde es z.b. niemals so machen), aber es ollte doch funktionieren (hab es allerdings nicht getestet).
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.