Zitat von
deadcantdance:
Wichtig ist außerdem die Compiler-Einstellung bzw. -direktive {Align 8}. Dann klappts auch wieder unter Delphi 2007.
eventuell auch so ... hier wird $ALIGN ignoriert
Delphi-Quellcode:
tAbc = packed record
ID : integer;
Nummer : integer;
Name : array[0..100] of AnsiChar;
_dummy: array[101..105] of AnsiChar;
Erstellt : tDateTime;
end;
Also in Zukunft einfach immer nur Fundamentale Typen verwenden und alles als PACKED.
Generische Typen wie Integer, Cardinal, Char und String könne sich ja schnell mal ändern.
Auch
Array of Record sollte man als PACKED deklarieren, da dort ebenfalls ausgerichtet werden könnte.
PS: zu Denken ein Char wäre für alles ab Delphi 2009 ein WideChar und davor ein AnsiChar,
ist nicht so optimal, da ja irgendwann die native Unterstützung von UCS4 kommt