Einzelnen Beitrag anzeigen

Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#1

Record vs. Packed Record, Delphi6 vs. D2007

  Alt 30. Nov 2007, 09:28
Hallo zusammen,

ich habe heute morgen einen Fehler im Programmverlauf festgestellt.
Auf mühsamer Suche habe ich festgestellt, daß das Programm, wenn ich es mit Delphi6 compiliere so läuft wie ich es erwarte und mit Delphi2007 eben nicht.

Letzendlich habe ich rausgefunden, daß es eine Struktur(record) im Source war, daß als normales record definiert war.
SizeOf von diesem Record in D7 hat 50 Byte ergeben, was richtig war.
SizeOf von diesem Record in D2007 hat 52 Byte ergeben, was falsch für meine weiteren Berechnungen war.

Definiere ich den Record als packed record, ist das SizeOf bei beiden Versionen 50Byte, also völlig richtig.

So wie es aussieht lag es wohl an der Option "Record-Felder ausrichten" in der IDE, was bei mir bei 2007 auf 8 gestellt war.
Stelle ich die Option auf den Wert 1 ist der record wieder bei SizeOf 50 Byte groß.


Was hat es genau mit dieser Option auf sich? Was würde 2, 3, usw. bedeuten?
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat