Nein, es gibt immer eine Kopie und selbst wenn nicht, dann wäre es ein gefährlich/zufälliges Verhalten .. mit Getter oder nicht, mal Kopie oder nicht.
Man kann hier mit Klassen arbeiten
oder mit Properties im Record *1
1) im Record eine Referenz auf das Original und im Setter des Record-Property dann nicht nur im Record, sondern auch im Original ändern.
Toll wäre es, wenn Emba mal auf seine kunden hören und nicht zuviele Feature-/Bugreports sinnlos schließen würde.
Bei einem Schreibzugriff auf ein Property muß am Ende einfach nur nochmal der Setter aufgerufen werden.
Delphi-Quellcode:
X.MeinProperty.xxx := irgendwas
// wird ja als kompiliert
Temp := X.GetMeinProperty;
Temp.xxx := irgendwas
// und am Ende fehlt einfach nur noch eine implizite Zeile, nach dem Schreibzugriff
X.SetMeinProperty(Temp);