Перейти к содержанию
  • Регистрация
  • 0
Авторизация  
Alzon

Ошибка при сериализации (DefineProperties и ObjectBinaryToText)

Вопрос

Функция сериализации:

function ComponentToString(Component: TComponent): string;
var BinStream:TMemoryStream;
    StrStream: TStringStream;
begin
  if Component=nil
   then Exit;
  BinStream := TMemoryStream.Create;
  try
    StrStream := TStringStream.Create;
    try
      NativeWriteComponent(BinStream, Component);
      BinStream.Seek(0, soFromBeginning);
      ObjectBinaryToText(BinStream, StrStream);
      StrStream.Seek(0, soFromBeginning);
      Result:= StrStream.DataString;
    finally
      StrStream.Free;
    end;
  finally
    BinStream.Free
  end;
end;

падает с ошибкой "Stream read error"  в ObjectBinaryToText(BinStream, StrStream), если в DefineProperties добавляю строку  Filer.DefineProperty('DocX',ReadThing, WriteThing, true);

procedure TSVGControl.DefineProperties(Filer: TFiler);
begin
  inherited DefineProperties(Filer);
  Filer.DefineProperty('DocX',ReadThing, WriteThing, true);
end;

может кто-нибудь подсказать что я делаю не так?

(проект на FMX)

test_Serialization.zip

Изменено пользователем Brovin Yaroslav

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

Ответы на этот вопрос пока отсутствуют

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...