Как работать с Frxdeflatestream

darweengdarweeng СССР
отредактировано 07:48 Раздел: FastReport 4.0
Доброго времени! Мне нужно перед записью в БД сжимать данные в виде текста.
Со сжатием вроде все получилось. На С++ код выглядит так:

TMemoryStream *S = new TMemoryStream();
TMemoryStream *D = new TMemoryStream();
Memo2->Lines->SaveToStream(S);
S->Position=0;
frxDeflateStream(S,D,gzDefault);
delete S;
D->Position=0;
Memo3->Lines->LoadFromStream(D); //Здесь в виде символов выводит сжатые данные
delete D;

А вот с обратной операцией не выходит:

TMemoryStream *S = new TMemoryStream();
TMemoryStream *D = new TMemoryStream();
Memo3->Lines->SaveToStream(S);
S->Position=0;
frxInflateStream(S,D);
delete S;
D->Position=0;
Memo4->Lines->LoadFromStream(D);
delete D;

Выдает ошибку "Data Error". Подскажите пожалуйста, как тут быть?

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.