Garnicht.
Es wird beim Zugriff auf einen Property leider immer nur entweder der Getter oder der Setter benutzt.
Da hier auf eine Eigenschaft des Records zugegriffen wird, wird also der Getter benutzt und der Schreibzugriff auf das Record-Feld geht dann in die Kopie des Records (also ins Result des Getter)
und wird anschließend nicht automaisch via Setter zurückgeschrieben. (abgesehn davon, dass du eh keinen Setter hast)
* eine Datenklasse anstatt des Records (kann auch eine zuzätliche
Access-Implementation sein, welche ihre Proertyzugriffe auf den Record umleitet)
* das Property als Pointer
property Item[Index:Integer]: PProgreleaseItem Read GetItem;
* den Record mit Property+Setter, wobei der Record vom GetItem einen Zeiger auf TProgRelease mitbekommt, um Änderungen weiterzugeben.
* ...