Usually esspecially editing text triggers the saving of the data. I would recommenn to use the TWPRichText and read/write the data through the property AsString or LoadFormSTream/SaveToStream.
That can be implemented very easily using the events of the dataset and has the benfit that you can post the data wehn YOU want.
In youre case maybe a
if DataSet.Editing then DataSet.Post
in Form.OnClose is missing ?
I understand what you say but at present I am comitted to using a databound RichText.
I think I have narrowed down the problem.
If I add text using RichText.InputString(MyString, 0) it does not seem to register as a change. The string appears but if the user moves to another record the string is not saved.
I have added RichText.Modified := True but it does still not save.
How can I ensure that a modification is registered when I use InputString?