Mich würde mal interressieren, ob es möglich ist irgendwie 16byte alignment in Delphi zu nutzen.
Ich bin mir nicht ganz sicher, was du genau erreichen willst:
a) die Speicheradressen der Record-Felder X, Y, Z und W sollen jeweils auf einer 16-Bit-Grenze liegen
b) der gesamte Record soll auf einer 16-Bit-Grenze liegen
Leider geht a) nur, wenn du entsprechende Füller einbaust.
Für b) gibt es aber ein Keyword, daß ein (nicht-gepacktes) Record auf eine 16-Bit-Grenze setzt:
Delphi-Quellcode:
type
TTest = record
X: Single;
Y: Single;
Z: Single;
W: Single;
end align 16;
Ab wann das geht, kann ich im Moment nicht sagen; getestet habe ich es unter XE2.