I don't know exactly how it goes, but i tested a bit too after your comment. TRGB2 is indeed 3 bytes for some reason.
But these are both 8 bytes, and 5 if packed. Same with Lazarus and Delphi.
So it doesn't matter if the value is last one. Having only 1 variable type in record seems to be special case, that is not adding any padding.Code:TRecord1 = record a: single; b: byte; end; TRecord2 = record b: byte; a: single; end;
Bookmarks