Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Frage zu den "neuen" Records in 10.4

  Alt 14. Jun 2020, 19:16
Was genau meinst Du mit "mitkopiert" ?

Ist vorher Padding drin, hinterher nicht ?
Angenommen wir haben zwei Records myRecordA, myRecordB: TMyRecord mit der Definition

Delphi-Quellcode:
TMyRecord = record
  someByte: Byte;
  someInteger: Integer
end;
Und sagen wir myRecordA liegt beispielsweise so im Speicher:

Code:
  Byte #   Wert  Gehört zu  

  0        42     someByte    
  1        FF    (Padding)  
  2        FF    (Padding)  
  3        FF    (Padding)  
  4        00     someInteger
  5        00     someInteger
  6        00     someInteger
  7        00     someInteger
Dann wurden früher ™ bei einer Zuweisung myRecordB := myRecordA nur die Bytes 0 und 4-7 in myRecordB gesetzt. Jetzt sind es alle.

Wenn sie in irgendeiner Version einmal nicht mit kopiert wurden, war das ein Bug.
Tatsächlich? Ich war die letzten Jahre auf 10.0 Seattle, und da wurden die Padding-Bytes bei einer Zuweisung definitiv nicht mitkopiert. Zu anderen Versionen kann ich nichts sagen. Ist ja auch eigentlich eine gute Sache dass es (jetzt) so ist.
  Mit Zitat antworten Zitat