Oh, das stimmt.
SizeOf gibt 24 Byte an, bei TGuid nur 16.
Die einzelnen Werte sind ja aber korrekt:
Delphi-Quellcode:
TmyGUID = record
C : Word; //: 2 Byte
TS1: TDateTime; //: 8 Byte
TS2: TDateTime; //: 8 Byte
Summe=18
Delphi-Quellcode:
TGUID = record
D1: Cardinal; //: 4 Byte
D2: Word; //: 2 Byte
D3: Word; //: 2 Byte
D4: array[0..7] of Byte; //: 8 Byte
Summe=16
Wo ist da mein Denkfehler bzw. Wissenslücke?
TGuid ist ja auch kein gepackter Record oder so?
Mir kam es bei meinen Überlegungen darauf an, ob es "verhältnismäßig" ist, eine eigene
Guid zu verwenden.
Entsprechend hatte ich die einzelnen Variablen angesehen, die verwendet werden und bin auf die kaum höhere Größe gekommen.
Die reale Größe hatte ich dann gar nicht untersucht.
EDIT: Ok, mit "packed record" komme ich auf das erwartete Ergebnis.