Функция сериализации:
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