Как реализовать собственную функцию Undo/Redo в компоненте производном от TMemo?
Имееться компонента TMyMemo, которая унаследована от TMemo
Возник такой вопрос как реализовать в компоненте функцию Undo / Redo,
но не таким образом!!!: TMyMemo.Undo;
необходимо чтоб эта была собственная реализация отмены / возврата.
Как этот процесс происходить? Для этого что необходимо использовать структру стек я правильно понимаю?
И еще функция Undo / Redo есть ограниченная и неограниченная, так ли это?
Можно сделать переменную-буфер, в которую записывать происходящие изменения, а при отмене восстанавливать состояние Memo. Соответственно, чем больше таких "буферов", тем больше шагов пользователь сможет отменить, но тогда появляется вопрос о экономии памяти. Поэтому лучше сбрасывать изменения в файл на диске.