Перейти к содержанию
Fire Monkey от А до Я
  • 0

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


Alzon

Вопрос

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

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 пользователей онлайн

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