Einwand:
dein Set ist 1 Byte groß (jedenfalls deiner Deklararion nach)
dein Cast dagegen 4 Byte
also wie Stevie scjon erwähnte
wenn die Größe stimmt, dann läßt es sich auch casten
ansonsten sind deine "wilden" Zwangs-Cast's Scheiße.
Delphi-Quellcode:
type
a =
set of (aa, bb,
cc);
b = LongWord;
{$MINENUMSIZE 4}
c =
set of (dd, ee, ff);
{$MINENUMSIZE 1} // zurücksetzen
d = (gg, hh, ii);
e = LongWord;
{$MINENUMSIZE 4}
f = (jj, kk, ll);
begin
ShowMessage(Format('
%d %d %d %d %d %d', [SizeOf(a), SizeOf(b), SizeOf(c),
SizeOf(d), SizeOf(e), SizeOf(f)]));