Thanks to both responders. I actually found another solution: procedure TfrmMain.txtVolAuthorChange(Sender: TObject); begin if (txtVolAuthor.Enabled) then VolumeList [CurrentVolume].Author := txtVolAuthor.Text; end; Then I just set txtVolAuthor.Enabled := false before manually updating it.