{ %fail } type trange = 0..$ffffff; tr = bitpacked record a,b,c: byte; d,e:0..15; f: byte; g: trange; { 3 bytes } h: byte; end; procedure p(var b: trange); begin b := $12 end; var r: tr; begin p(r.g); end.