Hi Evgeny,
I have tryed but I’m a little bit lost because I don’t know exactly the way RO SDK works.
here
procedure reportField.ReadComplex(aSerializer: TObject);
var
__Serializer: TROSerializer;
l_binaryData: Binary;
l_extensions: wsValuedEntry_extensions_Array;
l_fillingDate: DateTime;
l_id: UTF8String;
l_value: UTF8String;
l_valueCode: UTF8String;
begin
__Serializer := TROSerializer(aSerializer);
;
if __Serializer.RecordStrictOrder then begin
inherited ReadComplex(aSerializer);
l_binaryData := Self.int_binaryData;
try
__Serializer.ReadBinary('binaryData', l_binaryData);
except
on E: Exception do begin
uROClasses.RaiseError('Exception "%s" with message "%s" happens during reading field "%s".', [E.ClassName(), E.Message, 'binaryData']);
end;
end;
if Self.int_binaryData <> l_binaryData then begin
Self.binaryData.Free();
end;
Self.binaryData := l_binaryData;
l_fillingDate := Self.fillingDate;
try
__Serializer.ReadDateTime('fillingDate', l_fillingDate);
except
on E: Exception do begin
uROClasses.RaiseError('Exception "%s" with message "%s" happens during reading field "%s".', [E.ClassName(), E.Message, 'fillingDate']);
end;
end;
Self.fillingDate := l_fillingDate;
l_value := Self.value;
try
__Serializer.ReadUTF8String('value', l_value);
except
on E: Exception do begin
uROClasses.RaiseError('Exception "%s" with message "%s" happens during reading field "%s".', [E.ClassName(), E.Message, 'value']);
end;
end;
Self.value := l_value;
l_valueCode := Self.valueCode;
try
__Serializer.ReadUTF8String('valueCode', l_valueCode);
except
on E: Exception do begin
uROClasses.RaiseError('Exception "%s" with message "%s" happens during reading field "%s".', [E.ClassName(), E.Message, 'valueCode']);
end;
end;
Self.valueCode := l_valueCode;
end
else begin
l_binaryData := Self.int_binaryData;
try
__Serializer.ReadBinary('binaryData', l_binaryData);
except
on E: Exception do begin
uROClasses.RaiseError('Exception "%s" with message "%s" happens during reading field "%s".', [E.ClassName(), E.Message, 'binaryData']);
end;
end;
if Self.int_binaryData <> l_binaryData then begin
Self.binaryData.Free();
end;
Self.binaryData := l_binaryData;
l_extensions := Self.int_extensions;
try
__Serializer.ReadArray('extensions', wsValuedEntry_extensions_Array, l_extensions);
except
on E: Exception do begin
uROClasses.RaiseError('Exception "%s" with message "%s" happens during reading field "%s".', [E.ClassName(), E.Message, 'extensions']);
end;
end;
if Self.int_extensions <> l_extensions then begin
Self.extensions.Free();
end;
Self.extensions := l_extensions;
l_fillingDate := Self.fillingDate;
try
__Serializer.ReadDateTime('fillingDate', l_fillingDate);
except
on E: Exception do begin
uROClasses.RaiseError('Exception "%s" with message "%s" happens during reading field "%s".', [E.ClassName(), E.Message, 'fillingDate']);
end;
end;
Self.fillingDate := l_fillingDate;
l_id := Self.id;
try
__Serializer.ReadUTF8String('id', l_id);
except
on E: Exception do begin
uROClasses.RaiseError('Exception "%s" with message "%s" happens during reading field "%s".', [E.ClassName(), E.Message, 'id']);
end;
end;
Self.id := l_id;
l_value := Self.value;
try
__Serializer.ReadUTF8String('value', l_value);
except
on E: Exception do begin
uROClasses.RaiseError('Exception "%s" with message "%s" happens during reading field "%s".', [E.ClassName(), E.Message, 'value']);
end;
end;
Self.value := l_value;
l_valueCode := Self.valueCode;
try
__Serializer.ReadUTF8String('valueCode', l_valueCode);
except
on E: Exception do begin
uROClasses.RaiseError('Exception "%s" with message "%s" happens during reading field "%s".', [E.ClassName(), E.Message, 'valueCode']);
end;
end;
Self.valueCode := l_valueCode;
end;
end;
how can I display the content of __Serializer ?