Некорректная работа Richview
mch
Киров
Пытаюсь загрузить в RichView содержимое в rtf-формате.
shtamp.Text содержит:
До перехода на D2010 и с предыдущими версиями FR всё работало нормально, т.е. отображался бы корректный текст в RichView:
Теперь же отображается то, что содержится в переменной, т.е.
Как правильно загрузить в RichView содержимое в rtf-формате?
var Memo1:TfrxRichView;
...
Memo1:=dbApplication.ReportEngine.FindObject('Shtamp') as TfrxRichView;
Memo1.RichEdit.Text:=shtamp.Text;
shtamp.Text содержит:
{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fnil\fcharset0 Tahoma;}{\f1\fnil\fcharset204 Tahoma;}{\f2\fnil Tahoma;}}
{\colortbl;\red0\green0\blue0;}
\viewkind4\uc1\pard\cf1\lang1033\f0\fs16 hjbhbh\lang1049\f1 \'ee\'f0\'eb\f2\par
}
До перехода на D2010 и с предыдущими версиями FR всё работало нормально, т.е. отображался бы корректный текст в RichView:
hjbhbh орл
Теперь же отображается то, что содержится в переменной, т.е.
{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fnil\fcharset0 Tahoma;}{\f1\fnil\fcharset204 Tahoma;}{\f2\fnil Tahoma;}}
{\colortbl;\red0\green0\blue0;}
\viewkind4\uc1\pard\cf1\lang1033\f0\fs16 hjbhbh\lang1049\f1 \'ee\'f0\'eb\f2\par
}
Как правильно загрузить в RichView содержимое в rtf-формате?
Комментарии
Memo1.RichEdit.Lines:=shtamp.Lines;
или перебросьте содержимое Lines через TMemoryStream
Если присваивать значение Memo1.RichEdit.Lines.Text:=shtamp.Text; или Memo1.RichEdit.Lines.Add(shtamp.Text); то результат как и с Memo1.RichEdit.Text, т.е. выдаёт исходный rtf-текст.
Если присваивать значение используя TMemoryStream "Memo1.LoadFromStream(Stream);", то выдаёт ошибку "Invalid file format", ссылаясь на "raise TfrxInvalidXMLException.Create('Invalid file format');"
Если присваивать значение используя TMemoryStream "Memo1.RichEdit.Lines.LoadFromStream(Stream);", то пусто и ошибки нет.
При этом исходный текст rtf верный, если сохранить через блокнот и открыть в MsWord - всё отображается корректно.