leider wurde schon seit ewigen Zeiten und immernoch in XE ein bissl was vergessen.
Delphi-Quellcode:
var
s, t: String;
a, b: array of Byte;
s := '12345';
t := s;
t[3] := '-';
// s = '12345'
// t = '12-45'
a := (1, 2, 3, 4, 5);
b := a;
b[3] := 888;
// a := (1, 2, 888, 4, 5)
// b := (1, 2, 888, 4, 5)
beim Schreibzugriff sollte ja, sobald mehrere Referenzen auf die selben Array-Daten zeigen, das zu beschreibende Array kopiert werden, bevor der Schreibzugriff startet.
PS: String entspricht einem quasi einem aufgemotzten array of Char