Hm, das ist ja interessant.
Der Hintergund für meine Frage: Ich möchte bei einem varianten Record den Integer in Rec3 durch einen Enum-Typen (< 255) ersetzten. Derzeit habe ich mir damit beholfen, dass ich den Enum-Typen mit {$Z4} auf eine Größe von vier Bytes zwinge.
Wie ich ausprobiebert habe, müsste das auch mit folgender Deklaration gehen:
Delphi-Quellcode:
tRec2 = record
S1: string[50];
B1: Byte;
B2: Byte;
B3: Byte;
B4: Byte;
B5: Byte;
E: tEnum;
S2: String[50];
end;
Rec2 hat dann auch die Größe von Rec1, nämlich 108.
So ganz wohl ist mir bei dem Ganzen aber nicht. Wie würdet ihr das ggf. lösen?