Установил себе D2010 и столкнулся просто с непреодолимой проблемой.
Имеется D2006 и D2010 с установленными компонентами ZipForge, RxLib.
Есть архив zip внутри которого есть файл f_name содержимое которого есть rtf-файл.
Извлекаю файл в Stream
Код:
Var
S:TStringStream;
Begin
S := TStringStream.Create('');
ZipForge1.FileName := NameZipFile;
ZipForge1.OpenArchive(fmOpenReadWrite);
ZipForge1.ExtractToStream(f_name,s);
...
Тут все нормально. А далее идет волшебство, Нужно в RxRichEdit загрузить содержимое. Делаю так:
Код:
RxRichEdit1.Text:=s.datastring;
PlainText:=False; - Само собой понятно.
в D2006 - Документ корректно загрузился и отобразился со всем форматированием, объектами, картинками и прочим. А вот D2010 Загружается как обычный PlainText, - теги форматирования и прочие радости rtf формата. А если сначала StringStream сохранить в файл и после в RxRichEdit загрузить через LoadFromFile, то открывается нормально.
Почему так? и как Сделать, что бы StringStream загружался в RxRichEdit как rtf-файл в D2010? Использовать Именно StringStream - не принципиально, главное Stream, т.е. без промежуточного сохранения в файл.
Попытка сделать через
Код:
RxRichEdit1.Lines.LoadFromStream(s);
ничего не загружает - чистый белый лист.
А использование
Код:
RxRichEdit1.Lines.Text:=s.datastring;
Тоже загружает простой PlainText и до кучи еще тормозит сильно.