Alle Darstellungen müssen "gleich groß" sein.
Nein, müssen sie nicht.
Delphi-Quellcode:
program recordtest;
{$apptype console}
type
TMyRecord = record
case Boolean of
True: (A: Integer; B: Integer);
False: (C: Byte);
end;
begin
Writeln(SizeOf(TMyRecord));
end.
Kompiliert ohne Fehler und gibt "8" aus.
Edit: Nur falls jemand das falsche denkt: kompiliert mit Delphi 2007 (kompiliert mit FPC auch, dieser gibt aber 4 aus O.o )
Edit2: Ok... FPC hatte mich derwischt... man sollte natürlich in dem Modus kompilieren, in dem SizeOf(Integer)=4 ist...
Gruß,
Sven