Moin Zusammen,
durch eine Thread von
Pseudemys Nelsoni (
Diese C-Struktur in Delphi? kam ich darauf mal die Direktive {$ALIGN} zu testen.
Standardmässig wird in D7 ja ein Alignment von 8 eingestellt, so dass ein Record wie dieser
Delphi-Quellcode:
type
TEinRecord = record
Ptr1 : Pointer;
Feld1 : cardinal;
Feld2 : cardinal;
end;
bei SizeOf eigentlich 24 zurückliefern müsste.
Das passiert aber nicht. Die Grösse ist 12.
Als Direktive habe ich es auch einmal direkt vor die Recorddeklaration geschrieben, um sicherzustellen, dass auch tatsächlich 8 eingestellt ist, allerdings ohne Erfolg. Es blieb bei Size = 12.
Mach' ich da jetzt einen Denkfehler?