Zitat:
Habe ich mir schon fast gedacht, aber warum wird mir im Debugger wenn ich die Variable Auswerte der Wert nicht angezeigt? Also muss ich jeden Short String, wo ich einen Kürzen String reinpacke vorher Fillcharn?
Mach Dir eine Compare Function für die Records, mit CompareMem wirst Du in solchen Fällen immer auf die Nase fallen. Da spielt auch das Align eine Rolle.
Ausgehend von Align 4 (der default denke ich) sieht Dein Record im Speicher so aus:
Delphi-Quellcode:
TSampleRecord = record
Count : byte;
hidden : array[0..2] of byte; // Für das Align wird das vom Compiler eingebaut
KfmKey : TKFMKey; // 17 byte
hidden : array[0..2] of byte; // Für das Align wird das vom Compiler eingebaut
end;
Kannst Du einfach mit sizeof(TSampleRecord) nachschauen. Habe es jetzt nicht getestet aber gehe davon aus das der Record 24 Byte gross ist.