Nein, Delphi hat endlich ordnungsgemäß diese Fehlermeldung. (war früher leider anders)
Du kannst nur den "kompletten" Record deinem Property zuweisen.
Wenn nicht, dann würde (eventuell über einen Getter) der Record ausgelesen, dadurch eine Kopie des Records angelegt und dann
nur in der Kopie das Feld geändert.
(danach wird nämlich der Record nicht wieder an den "Setter" übergeben und zurückgeschrieben.
Du brauchst also eine Klasse (entweder statt des Records, oder als Wrapper dahin) oder du schreibst eben den ganzen Record zurück.
Delphi-Quellcode:
temp := o.myrecord;
temp.a := 666;
o.myrecord := temp;