Hallo!
Ich benutze hier Delphi 7 Prof. und hab' mal eine Frage zur Speicherbelegung eines Records.
Das Record ist wie folgt unter Delphi deklariert:
Quelltext
1: 2: 3: 4: 5:
| Type TTest = Record var1 : Char; var2 : SmallInt; End; |
Wenn ich jetzt mittels der Funktion SizeOf() die Größe des Records rauskriegen möchte, zeigt er 4 Bytes an. Das wundert mich ein wenig, denn Char sind 8 Bit und SmallInt 16 Bit groß. Das macht 24 Bit, also 3 Bytes. Woher kommen die restlichen 8 Bits??
Wenn ich das ganze unter Borland Pascal 7 machen, allerdings statt SmallInt, den Integer benutzer, dann kriege ich meine 3 Byte raus.
Das eigentlich Problem ist, dass ich eine Datei mittels BlockRead in Delphi lesen möchte, die unter BP 7 erstellt worden ist. Nachdem ich das Record in Delphi umgestellt habe, kamen da immer noch 24 Bytes zu viel raus und das Lesen hat natürlich nicht funktioniert.
Hat jemand da eine plausible Erklärung für mich?
Vielen Dank im voraus!
Stephan