Unions sind Objekte, die sich an der selben Speicheradresse befinden (sowas wie ein typisierter Alias).
In Delphi lässt sich das über "variante Records" abbilden:
Delphi-Quellcode:
type
PAesInf = ^TAesInf;
TAesInf = record
case Integer of
4: (l: LongWord);
1: (b: array [0..3] of Byte);
{ end; }
end;
type
PAesEncryptCtx = ^TAesEncryptCtx;
TAesEncryptCtx = record
ks: array [0..KS_LENGTH-1] of LongWord;
inf: TAesInf;
end;
type
PAesDecryptCtx = ^TAesDecryptCtx;
TAesDecryptCtx = record
ks: array [0..KS_LENGTH-1] of LongWord;
inf: TAesInf;
end;
Hinweis: einfach runtergetippt, kein Anspruch auf Kompilierbarkeit