Zitat von
Lotus:
Delphi gibt mir allerdings per sizeof(tdaten) eine größe von 16 Byte aus... warum?
Weil Delphi es per alles Standard so ausrichtet, daß der Zugrigg optimaler Weise an Integergrenzen beginnt und auch die ganze Datenstruktur als vielfaches von Integern auftritt, also sich über ganze Integer-Operationen zu kopieren läßt.
Zitat von
alzaimar:
-wie mkinzler schon sagte- 16bit-weise angeordnet.
'SizeOf' kann man nicht 'einstellen'
nein, es sind 32 Bit ...
Test: versuch es einfach mal mit
string[8]
jupp, die Ausrichtung mußt du direkt am Record einstellen, also Packed oder nicht und wenn nicht, dann greift hier als Erstes das aktuell in der
Unit gültige/letzte {
$A...} bzw. {
$ALIGN ...} (siehe
OH) und wenn da nichts steht, dann das aus den Projektoptionen.
Zitat:
Kann ich sizeof so einstellen das es nur packed ausgibt? bzw. wo is der unterschied von packed?
blos weil dir ein Maß nicht gefällt, änderst du ja auch nicht das Linial, sondern das zu Messende
PACKED besagt ... ach, schau einfach mal bei
packed in deine
OH.