Forum: Object-Pascal / Delphi-Language
Delphi
by jaenicke,
15. Jun 2020
Ich hatte dort auch schlicht angeschaut was genau bei der Zuweisung im Speicher passiert, auch bei einem größeren Record:
Dort kann man sehr gut sehen, dass die 42=$2A mitkopiert wird und auch warum (zweimal mov auf 4 Byte).
Forum: Object-Pascal / Delphi-Language
Delphi
by jaenicke,
14. Jun 2020
Ich habe nun in einer VM Delphi 10.0 ausprobiert. Auch da werden alle Bytes kopiert.
Beispielcode:var
test: PByte;
begin
a.someByte := 1;
a.someInteger := 1;
test := @a.someByte;
Inc(test);
test^ := 42;
Forum: Object-Pascal / Delphi-Language
Delphi
by jaenicke,
14. Jun 2020
Wenn sie in irgendeiner Version einmal nicht mit kopiert wurden, war das ein Bug. Ich konnte allerdings keine solche Version finden (XE, XE6, 10.2, 10.3 und 10.4 kopieren alle korrekt den kompletten Speicherinhalt).