Replacement controls (InsertControl) for SaveRVFToStream
Replacement controls (InsertControl) for SaveRVFToStream
Hi! I have some inserted controls (method InsertControl()) in TRichViewEdit. How I can replace this controls before saving in database blob with using method SaveRVFToStream(). Event SaveRVFToStream is not running when I call SaveRVFToStream(). Is there an analogue event SaveRVFToStream of for SaveRVFToStream() ? How I can solving the problem of replacement controls?
-
- Site Admin
- Posts: 17559
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
I want to replace control to save doc in db. For example replace TComboBox control in text {ComboBox}. If i don't replace controls in text, I can't save document in stream, method SaveRVFToStream exception: "Class TComboBox not found". I can use SaveHTML() and event SaveComponentToFile to replace Controls. But I don't want to use this intermediate file. How I can walk in the loop on all objects and replace all the controls in some text markers?
Может мой инглиш не супер. Скажу по русски. Я хочу сохранить документ через поток в блоб базы данных. Но я не могу это сделать так как появляется ошибка о том что ричвьюэдит не знает что такое эти вставленные контроллы. Поэтому я хочу их заменять на текстовые метки, сохранять, а при загрузке менять эти метки обратно на эти виджеты. Я могу это сделать через внешний файл обрабатывая контроллы в SaveComponentToFile, но я не хочу задействовать промежуточные файлы. Поэтому мне нужно что-то типа SaveComponentToStream или уметь как-то вручную обработать все содержимое документа.
-
- Site Admin
- Posts: 17559
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
Just register all control classes using RegisterClass method:
For example, after calling
RVF document with TComboBox controls can be loaded.
Call RegisterClass for each control class one time, before the first loading.
Alternatively, you can exclude rvfoSaveControlsBody from rv.RVFOptions, and use OnRVFControlNeeded event.
For example, after calling
Code: Select all
RegisterClass(TComboBox);
Call RegisterClass for each control class one time, before the first loading.
Alternatively, you can exclude rvfoSaveControlsBody from rv.RVFOptions, and use OnRVFControlNeeded event.