TROBSONSerializer
Overview
The TROBSONSerializer class implements a serializer that is able to encode and decode data in the BSON messaging format. It introduces no new visible members compared to its superclass. Please refer to the TROSerializer documentation for a detailed description of the class members.
This class is used internally inside the TROBSONMessage, users should not use this class directly.
Location
- Unit: uROBSONMessage.pas
- Ancestry: TROBaseSerializer | TROSerializer | TROBSONSerializer
constructor Create (declared in TROSerializer)
Creates a new instance.
constructor Create
constructor Create (TROBSONMessage)
Creates a new instance.
constructor Create(aOwner: TROBSONMessage)
Parameters:
- aOwner: Message
BeginReadObject protected override
Deserializes data of any object type.
procedure BeginReadObject(const aName: string; aCustom: IROCustomStreamableType; var aLevelRef: IUnknown; var aIsValidType: Boolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aCustom: Output parameter, should point to the deserialized instance.
- aLevelRef: specified what string should be read (AnsiString or UTF8String)
- aIsValidType: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- ArrayElementId: Specifies the maximum string length to read, is set to -1 when no restriction is required.
BeginWriteObject protected override
Serializes data of any object type.
procedure BeginWriteObject(const aName: string; aCustom: IROCustomStreamableType; var aLevelRef: IUnknown; var aIsValidType: Boolean; out aIsAssigned: Boolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aCustom: Object
- aLevelRef: Reference to owner object.
- aIsValidType: Output parameter, setting this to false indicates that the object cannot be written because the object type is unknown. Should return true.
- aIsAssigned: Output parameter, indicates that the object about to be written is considered assigned.
- ArrayElementId: If the object being written is an array element, its index is contained in this parameter, otherwise it is -1.
CleanupClassName protected (declared in TROSerializer)
function CleanupClassName(aClassName: string): string
Parameters:
- aClassName:
DefaultNamespaces (declared in TROSerializer)
Default namespace
property DefaultNamespaces: TStrings read write
EndReadObject protected override
Deserializes data of any object type.
procedure EndReadObject(const aName: string; aCustom: IROCustomStreamableType; const aLevelRef: IUnknown)
Parameters:
- aName: Name of the object that has been written.
- aCustom: Object
- aLevelRef: Reference to owner object.
EndWriteObject protected override
Serializes data of any object type.
procedure EndWriteObject(const aName: string; aCustom: IROCustomStreamableType; const aLevelRef: IUnknown)
Parameters:
- aName: Name of the object that has been written.
- aCustom: Object
- aLevelRef: Reference to owner object.
GetArrayElementName (PTypeInfo, Pointer): string overload virtual (declared in TROSerializer)
Returns the name that is used for the array element instance when (de)serializing. Used for message formats where entities are named, such as SOAP.
function GetArrayElementName(anItemType: PTypeInfo; anItemReference: Pointer): string
Parameters:
- anItemType: Runtime type information for the element type.
- anItemReference: Points to the array element.
GetArrayElementName (string): string overload virtual (declared in TROSerializer)
Returns the name that is used for the array element instance when (de)serializing
function GetArrayElementName(anItemType: string): string
Parameters:
- anItemType: Runtime type information for the element type.
IsROCustomStreamable protected (declared in TROSerializer)
Determines if the instance is custom streamable by testing for the IROCustomStreamableType interface implementation.
function IsROCustomStreamable(aClass: TClass): Boolean
Parameters:
- aClass: Class to test.
MaxStringSize (declared in TROSerializer)
property MaxStringSize: Integer read write
Read (declared in TROSerializer)
The general method to read any data.
procedure Read(const aName: string; aTypeInfo: PTypeInfo; var Ptr: ; ArrayElementId: Integer; Attributes: TParamAttributes)
Parameters:
- aName: Name of the object to read.
- aTypeInfo: Runtime type information for the data to read.
- Ptr: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- Attributes: Attributes
ReadArray override
Reads an array value.
function ReadArray(const aName: string; aClass: TClass; var Ref: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadArrayWithErrorHandling (declared in TROSerializer)
Reads an array value.
function ReadArrayWithErrorHandling(const aName: string; aClass: TClass; out Value: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBinary override
Reads a Binary value.
procedure ReadBinary(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBinaryWithErrorHandling (declared in TROSerializer)
Reads a Binary value.
procedure ReadBinaryWithErrorHandling(const aName: string; out Value: Binary; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBoolean override
Reads a Boolean value.
procedure ReadBoolean(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBooleanWithErrorHandling (declared in TROSerializer)
Reads a Boolean value.
procedure ReadBooleanWithErrorHandling(const aName: string; out Value: Boolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadCurrency override
Reads a Currency value.
procedure ReadCurrency(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadCurrencyWithErrorHandling (declared in TROSerializer)
Reads a Currency value.
procedure ReadCurrencyWithErrorHandling(const aName: string; out Value: Currency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDateTime override
Reads a TDateTime value.
procedure ReadDateTime(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDateTimeWithErrorHandling (declared in TROSerializer)
Reads a TDateTime value.
procedure ReadDateTimeWithErrorHandling(const aName: string; out Value: TDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDecimal override
Reads a Decimal value.
procedure ReadDecimal(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDecimalWithErrorHandling (declared in TROSerializer)
Reads a Decimal value.
procedure ReadDecimalWithErrorHandling(const aName: string; out Value: Decimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDecimalWithErrorHandling_cpp (declared in TROSerializer)
Reads a Decimal value.
procedure ReadDecimalWithErrorHandling_cpp(const aName: string; var Value: Variant; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDouble override
Reads a Double value.
procedure ReadDouble(const aName: string; aFloatType: TFloatType; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aFloatType: Specifies the exact floating point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDouble_ override
Reads a Double value.
procedure ReadDouble_(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDoubleWithErrorHandling (string, TFloatType, , Integer) overload (declared in TROSerializer)
Reads a Double value.
procedure ReadDoubleWithErrorHandling(const aName: string; aFloatType: TFloatType; out Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aFloatType: Specifies the exact floating point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDoubleWithErrorHandling (string, Double, Integer) overload (declared in TROSerializer)
Reads a Double value.
procedure ReadDoubleWithErrorHandling(const aName: string; out Value: Double; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadEnumerated override
Reads an enumerated value.
procedure ReadEnumerated(const aName: string; anEnumTypeInfo: PTypeInfo; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anEnumTypeInfo: Runtime type information for the enuymerated type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadEnumeratedWithErrorHandling (declared in TROSerializer)
Reads an enumerated value.
procedure ReadEnumeratedWithErrorHandling(const aName: string; anEnumTypeInfo: PTypeInfo; out Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anEnumTypeInfo: Runtime type information for the enuymerated type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadException override
Reads an Exception value.
procedure ReadException(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadExceptionWithErrorHandling (declared in TROSerializer)
Reads an Exception value.
procedure ReadExceptionWithErrorHandling(const aName: string; out Value: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadGuid override
Reads a GUID value.
procedure ReadGuid(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadGuidWithErrorHandling (declared in TROSerializer)
Reads a GUID value.
procedure ReadGuidWithErrorHandling(const aName: string; out Value: TGuidString; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt32 override
Reads a Integer value.
procedure ReadInt32(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt32WithErrorHandling (declared in TROSerializer)
Reads a Integer value.
procedure ReadInt32WithErrorHandling(const aName: string; out Value: Integer; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt64 override
Reads a Int64 value.
procedure ReadInt64(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt64WithErrorHandling (declared in TROSerializer)
Reads a Int64 value.
procedure ReadInt64WithErrorHandling(const aName: string; out Value: Int64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInteger override
Reads a Integer value (32 bits or less).
procedure ReadInteger(const aName: string; anOrdType: TOrdType; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anOrdType: Specifies the exact integer point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadIntegerWithErrorHandling (declared in TROSerializer)
Reads a Integer value (32 bits or less).
procedure ReadIntegerWithErrorHandling(const aName: string; anOrdType: TOrdType; out Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anOrdType: Specifies the exact integer point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadLegacyString override
Reads an AnsiString / Utf8String value.
procedure ReadLegacyString(const aName: string; var Ref: ; ExtraAttributes: TParamAttributes; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ExtraAttributes: specified what string should be read (AnsiString or UTF8String)
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadLegacyStringWithErrorHandling (declared in TROSerializer)
Reads an AnsiString / Utf8String value.
procedure ReadLegacyStringWithErrorHandling(const aName: string; out Value: string; ExtraAttributes: TParamAttributes; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ExtraAttributes: specified what string should be read (AnsiString or UTF8String)
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadNullableBoolean override
Reads a NullableBoolean value.
procedure ReadNullableBoolean(const aName: string; out aValue: NullableBoolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableBooleanWithErrorHandling (declared in TROSerializer)
Reads a NullableBoolean value.
procedure ReadNullableBooleanWithErrorHandling(const aName: string; out Value: NullableBoolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableCurrency override
Reads a NullableCurrency value.
procedure ReadNullableCurrency(const aName: string; out aValue: NullableCurrency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableCurrencyWithErrorHandling (declared in TROSerializer)
Reads a NullableCurrency value.
procedure ReadNullableCurrencyWithErrorHandling(const aName: string; out Value: NullableCurrency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDateTime override
Reads a NullableDateTime value.
procedure ReadNullableDateTime(const aName: string; out aValue: NullableDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDateTimeWithErrorHandling (declared in TROSerializer)
Reads a NullableDateTime value.
procedure ReadNullableDateTimeWithErrorHandling(const aName: string; out Value: NullableDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDecimal override
Reads a NullableDecimal value.
procedure ReadNullableDecimal(const aName: string; out aValue: NullableDecimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDecimalWithErrorHandling (declared in TROSerializer)
Reads a NullableDecimal value.
procedure ReadNullableDecimalWithErrorHandling(const aName: string; out Value: NullableDecimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDouble override
Reads a NullableDouble value.
procedure ReadNullableDouble(const aName: string; out aValue: NullableDouble; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDoubleWithErrorHandling (declared in TROSerializer)
Reads a NullableDouble value.
procedure ReadNullableDoubleWithErrorHandling(const aName: string; out Value: NullableDouble; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableGuid override
Reads a NullableGuid value.
procedure ReadNullableGuid(const aName: string; out aValue: NullableGuid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableGuidWithErrorHandling (declared in TROSerializer)
Reads a NullableGuid value.
procedure ReadNullableGuidWithErrorHandling(const aName: string; out Value: NullableGuid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableInt64 override
Reads a NullableInt64 value.
procedure ReadNullableInt64(const aName: string; out aValue: NullableInt64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableInt64WithErrorHandling (declared in TROSerializer)
Reads a NullableInt64 value.
procedure ReadNullableInt64WithErrorHandling(const aName: string; out Value: NullableInt64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableInteger override
Reads a NullableInteger value.
procedure ReadNullableInteger(const aName: string; out aValue: NullableInteger; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableIntegerWithErrorHandling (declared in TROSerializer)
Reads a NullableInteger value.
procedure ReadNullableIntegerWithErrorHandling(const aName: string; out Value: NullableInteger; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadObject (TObject) protected override (declared in TROSerializer)
Deserializes data of any object type.
procedure ReadObject(aObject: TObject)
Parameters:
- aObject: Object instance whose properties will be deserialized.
ReadObject (TObject) protected virtual abstract (declared in TROBaseSerializer)
Reads data of any object type.
procedure ReadObject(obj: TObject)
Parameters:
- obj: given object
ReadROCustomStreamable protected (declared in TROSerializer)
Reads a custom streamable object.
procedure ReadROCustomStreamable(const aName: string; aCustom: TObject; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aCustom: Object
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadStruct override
Reads a Struct value.
function ReadStruct(const aName: string; aClass: TClass; var Ref: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadStructWithErrorHandling (declared in TROSerializer)
Reads a Struct value.
function ReadStructWithErrorHandling(const aName: string; aClass: TClass; out Value: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadUnicodeString override
Reads unicode string from stream
procedure ReadUnicodeString(const aName: string; var Ref: ; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadUnicodeStringWithErrorHandling (declared in TROSerializer)
Reads unicode string from stream
procedure ReadUnicodeStringWithErrorHandling(const aName: string; out Value: UnicodeString; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadVariant override
Reads a Variant value.
procedure ReadVariant(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadVariantWithErrorHandling (declared in TROSerializer)
Reads a Variant value.
procedure ReadVariantWithErrorHandling(const aName: string; out Value: Variant; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadXml override
Reads a XML value.
procedure ReadXml(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadXmlWithErrorHandling (declared in TROSerializer)
Reads a XML value.
procedure ReadXmlWithErrorHandling(const aName: string; out Value: IXMLNode; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
RecordStrictOrder (declared in TROSerializer)
Indicates whether the field order of the structures must be maintained the same order as in the RODL. If set to false, alphabetical order is used for the fields.
property RecordStrictOrder: Boolean read
Write (declared in TROSerializer)
The general method to serialize any data.
procedure Write(const aName: string; aTypeInfo: PTypeInfo; const Ref: ; ArrayElementId: Integer; Attributes: TParamAttributes)
Parameters:
- aName: Name of the object to write.
- aTypeInfo: Runtime type information of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
- Attributes: Attributes
WriteArray override
Writes an array value.
procedure WriteArray(const aName: string; const Ref: ; aClass: TClass; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- aClass: Class of the object to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteBinary override
Writes a Binary value.
procedure WriteBinary(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteBoolean override
Writes a Boolean value.
procedure WriteBoolean(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteCurrency override
Writes a Currency value.
procedure WriteCurrency(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDateTime override
Writes a TDateTime value.
procedure WriteDateTime(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDecimal override
Writes a Decimal value.
procedure WriteDecimal(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDouble override
Writes a Double value.
procedure WriteDouble(const aName: string; aFloatType: TFloatType; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aFloatType: Specifies the exact floating point data type to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDouble_ override
Writes a Double value.
procedure WriteDouble_(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteEnumerated override
Writes an enumerated value.
procedure WriteEnumerated(const aName: string; anEnumTypeInfo: PTypeInfo; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- anEnumTypeInfo: Runtime type information of the enumerated type.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteException override
Writes an Exception value.
procedure WriteException(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteGuid override
Writes a GUID value.
procedure WriteGuid(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteInt32 override
Writes a Integer value.
procedure WriteInt32(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteInt64 override
Writes a Int64 value.
procedure WriteInt64(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteInteger override
Writes a Integer value (32 bits or less).
procedure WriteInteger(const aName: string; anOrdType: TOrdType; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- anOrdType: Specifies the exact integer data type to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteLegacyString override
Writes a legacy string (AnsiString or UTF8String) value.
procedure WriteLegacyString(const aName: string; const Ref: ; ExtraAttributes: TParamAttributes; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ExtraAttributes: specified what string should be written (AnsiString or UTF8String)
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableBoolean override
Writes a NullableBoolean value.
procedure WriteNullableBoolean(const aName: string; aValue: NullableBoolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableCurrency override
Writes a NullableCurrency value.
procedure WriteNullableCurrency(const aName: string; aValue: NullableCurrency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableDateTime override
Writes a NullableDateTime value.
procedure WriteNullableDateTime(const aName: string; aValue: NullableDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableDecimal override
Writes a NullableDecimal value.
procedure WriteNullableDecimal(const aName: string; aValue: NullableDecimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableDouble override
Writes a NullableDouble value.
procedure WriteNullableDouble(const aName: string; aValue: NullableDouble; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableGuid override
Writes a NullableGuid value.
procedure WriteNullableGuid(const aName: string; aValue: NullableGuid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableInt64 override
Writes a NullableInt64 value.
procedure WriteNullableInt64(const aName: string; aValue: NullableInt64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableInteger override
Writes a NullableInteger value.
procedure WriteNullableInteger(const aName: string; aValue: NullableInteger; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteObject (TObject) protected override (declared in TROSerializer)
Deserializes data of any object type.
procedure WriteObject(aObject: TObject)
Parameters:
- aObject: Object instance whose properties will be deserialized.
WriteObject (TObject) protected virtual abstract (declared in TROBaseSerializer)
Writes data of any object type.
procedure WriteObject(obj: TObject)
Parameters:
- obj: Object instance whose properties will be serialized.
WriteROCustomStreamable protected (declared in TROSerializer)
Writes a custom streamable object.
procedure WriteROCustomStreamable(const aName: string; aCustom: TObject; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aCustom: Object
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteStruct override
Writes a Struct value.
procedure WriteStruct(const aName: string; const Ref: ; aClass: TClass; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- aClass: Class of the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteUnicodeString override
Writes a UnicodeString value.
procedure WriteUnicodeString(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteVariant override
Writes a Variant value.
procedure WriteVariant(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteXml override
Writes a XML value.
procedure WriteXml(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
DefaultNamespaces (declared in TROSerializer)
Default namespace
property DefaultNamespaces: TStrings read write
MaxStringSize (declared in TROSerializer)
property MaxStringSize: Integer read write
RecordStrictOrder (declared in TROSerializer)
Indicates whether the field order of the structures must be maintained the same order as in the RODL. If set to false, alphabetical order is used for the fields.
property RecordStrictOrder: Boolean read
constructor Create (declared in TROSerializer)
Creates a new instance.
constructor Create
constructor Create (TROBSONMessage)
Creates a new instance.
constructor Create(aOwner: TROBSONMessage)
Parameters:
- aOwner: Message
BeginReadObject protected override
Deserializes data of any object type.
procedure BeginReadObject(const aName: string; aCustom: IROCustomStreamableType; var aLevelRef: IUnknown; var aIsValidType: Boolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aCustom: Output parameter, should point to the deserialized instance.
- aLevelRef: specified what string should be read (AnsiString or UTF8String)
- aIsValidType: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- ArrayElementId: Specifies the maximum string length to read, is set to -1 when no restriction is required.
BeginWriteObject protected override
Serializes data of any object type.
procedure BeginWriteObject(const aName: string; aCustom: IROCustomStreamableType; var aLevelRef: IUnknown; var aIsValidType: Boolean; out aIsAssigned: Boolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aCustom: Object
- aLevelRef: Reference to owner object.
- aIsValidType: Output parameter, setting this to false indicates that the object cannot be written because the object type is unknown. Should return true.
- aIsAssigned: Output parameter, indicates that the object about to be written is considered assigned.
- ArrayElementId: If the object being written is an array element, its index is contained in this parameter, otherwise it is -1.
CleanupClassName protected (declared in TROSerializer)
function CleanupClassName(aClassName: string): string
Parameters:
- aClassName:
EndReadObject protected override
Deserializes data of any object type.
procedure EndReadObject(const aName: string; aCustom: IROCustomStreamableType; const aLevelRef: IUnknown)
Parameters:
- aName: Name of the object that has been written.
- aCustom: Object
- aLevelRef: Reference to owner object.
EndWriteObject protected override
Serializes data of any object type.
procedure EndWriteObject(const aName: string; aCustom: IROCustomStreamableType; const aLevelRef: IUnknown)
Parameters:
- aName: Name of the object that has been written.
- aCustom: Object
- aLevelRef: Reference to owner object.
GetArrayElementName (PTypeInfo, Pointer): string overload virtual (declared in TROSerializer)
Returns the name that is used for the array element instance when (de)serializing. Used for message formats where entities are named, such as SOAP.
function GetArrayElementName(anItemType: PTypeInfo; anItemReference: Pointer): string
Parameters:
- anItemType: Runtime type information for the element type.
- anItemReference: Points to the array element.
GetArrayElementName (string): string overload virtual (declared in TROSerializer)
Returns the name that is used for the array element instance when (de)serializing
function GetArrayElementName(anItemType: string): string
Parameters:
- anItemType: Runtime type information for the element type.
IsROCustomStreamable protected (declared in TROSerializer)
Determines if the instance is custom streamable by testing for the IROCustomStreamableType interface implementation.
function IsROCustomStreamable(aClass: TClass): Boolean
Parameters:
- aClass: Class to test.
Read (declared in TROSerializer)
The general method to read any data.
procedure Read(const aName: string; aTypeInfo: PTypeInfo; var Ptr: ; ArrayElementId: Integer; Attributes: TParamAttributes)
Parameters:
- aName: Name of the object to read.
- aTypeInfo: Runtime type information for the data to read.
- Ptr: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- Attributes: Attributes
ReadArray override
Reads an array value.
function ReadArray(const aName: string; aClass: TClass; var Ref: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadArrayWithErrorHandling (declared in TROSerializer)
Reads an array value.
function ReadArrayWithErrorHandling(const aName: string; aClass: TClass; out Value: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBinary override
Reads a Binary value.
procedure ReadBinary(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBinaryWithErrorHandling (declared in TROSerializer)
Reads a Binary value.
procedure ReadBinaryWithErrorHandling(const aName: string; out Value: Binary; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBoolean override
Reads a Boolean value.
procedure ReadBoolean(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadBooleanWithErrorHandling (declared in TROSerializer)
Reads a Boolean value.
procedure ReadBooleanWithErrorHandling(const aName: string; out Value: Boolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadCurrency override
Reads a Currency value.
procedure ReadCurrency(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadCurrencyWithErrorHandling (declared in TROSerializer)
Reads a Currency value.
procedure ReadCurrencyWithErrorHandling(const aName: string; out Value: Currency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDateTime override
Reads a TDateTime value.
procedure ReadDateTime(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDateTimeWithErrorHandling (declared in TROSerializer)
Reads a TDateTime value.
procedure ReadDateTimeWithErrorHandling(const aName: string; out Value: TDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDecimal override
Reads a Decimal value.
procedure ReadDecimal(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDecimalWithErrorHandling (declared in TROSerializer)
Reads a Decimal value.
procedure ReadDecimalWithErrorHandling(const aName: string; out Value: Decimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDecimalWithErrorHandling_cpp (declared in TROSerializer)
Reads a Decimal value.
procedure ReadDecimalWithErrorHandling_cpp(const aName: string; var Value: Variant; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDouble override
Reads a Double value.
procedure ReadDouble(const aName: string; aFloatType: TFloatType; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aFloatType: Specifies the exact floating point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDouble_ override
Reads a Double value.
procedure ReadDouble_(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDoubleWithErrorHandling (string, TFloatType, , Integer) overload (declared in TROSerializer)
Reads a Double value.
procedure ReadDoubleWithErrorHandling(const aName: string; aFloatType: TFloatType; out Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aFloatType: Specifies the exact floating point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadDoubleWithErrorHandling (string, Double, Integer) overload (declared in TROSerializer)
Reads a Double value.
procedure ReadDoubleWithErrorHandling(const aName: string; out Value: Double; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadEnumerated override
Reads an enumerated value.
procedure ReadEnumerated(const aName: string; anEnumTypeInfo: PTypeInfo; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anEnumTypeInfo: Runtime type information for the enuymerated type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadEnumeratedWithErrorHandling (declared in TROSerializer)
Reads an enumerated value.
procedure ReadEnumeratedWithErrorHandling(const aName: string; anEnumTypeInfo: PTypeInfo; out Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anEnumTypeInfo: Runtime type information for the enuymerated type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadException override
Reads an Exception value.
procedure ReadException(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadExceptionWithErrorHandling (declared in TROSerializer)
Reads an Exception value.
procedure ReadExceptionWithErrorHandling(const aName: string; out Value: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadGuid override
Reads a GUID value.
procedure ReadGuid(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadGuidWithErrorHandling (declared in TROSerializer)
Reads a GUID value.
procedure ReadGuidWithErrorHandling(const aName: string; out Value: TGuidString; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt32 override
Reads a Integer value.
procedure ReadInt32(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt32WithErrorHandling (declared in TROSerializer)
Reads a Integer value.
procedure ReadInt32WithErrorHandling(const aName: string; out Value: Integer; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt64 override
Reads a Int64 value.
procedure ReadInt64(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInt64WithErrorHandling (declared in TROSerializer)
Reads a Int64 value.
procedure ReadInt64WithErrorHandling(const aName: string; out Value: Int64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadInteger override
Reads a Integer value (32 bits or less).
procedure ReadInteger(const aName: string; anOrdType: TOrdType; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anOrdType: Specifies the exact integer point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadIntegerWithErrorHandling (declared in TROSerializer)
Reads a Integer value (32 bits or less).
procedure ReadIntegerWithErrorHandling(const aName: string; anOrdType: TOrdType; out Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- anOrdType: Specifies the exact integer point type to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadLegacyString override
Reads an AnsiString / Utf8String value.
procedure ReadLegacyString(const aName: string; var Ref: ; ExtraAttributes: TParamAttributes; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ExtraAttributes: specified what string should be read (AnsiString or UTF8String)
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadLegacyStringWithErrorHandling (declared in TROSerializer)
Reads an AnsiString / Utf8String value.
procedure ReadLegacyStringWithErrorHandling(const aName: string; out Value: string; ExtraAttributes: TParamAttributes; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ExtraAttributes: specified what string should be read (AnsiString or UTF8String)
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadNullableBoolean override
Reads a NullableBoolean value.
procedure ReadNullableBoolean(const aName: string; out aValue: NullableBoolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableBooleanWithErrorHandling (declared in TROSerializer)
Reads a NullableBoolean value.
procedure ReadNullableBooleanWithErrorHandling(const aName: string; out Value: NullableBoolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableCurrency override
Reads a NullableCurrency value.
procedure ReadNullableCurrency(const aName: string; out aValue: NullableCurrency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableCurrencyWithErrorHandling (declared in TROSerializer)
Reads a NullableCurrency value.
procedure ReadNullableCurrencyWithErrorHandling(const aName: string; out Value: NullableCurrency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDateTime override
Reads a NullableDateTime value.
procedure ReadNullableDateTime(const aName: string; out aValue: NullableDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDateTimeWithErrorHandling (declared in TROSerializer)
Reads a NullableDateTime value.
procedure ReadNullableDateTimeWithErrorHandling(const aName: string; out Value: NullableDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDecimal override
Reads a NullableDecimal value.
procedure ReadNullableDecimal(const aName: string; out aValue: NullableDecimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDecimalWithErrorHandling (declared in TROSerializer)
Reads a NullableDecimal value.
procedure ReadNullableDecimalWithErrorHandling(const aName: string; out Value: NullableDecimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDouble override
Reads a NullableDouble value.
procedure ReadNullableDouble(const aName: string; out aValue: NullableDouble; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableDoubleWithErrorHandling (declared in TROSerializer)
Reads a NullableDouble value.
procedure ReadNullableDoubleWithErrorHandling(const aName: string; out Value: NullableDouble; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableGuid override
Reads a NullableGuid value.
procedure ReadNullableGuid(const aName: string; out aValue: NullableGuid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableGuidWithErrorHandling (declared in TROSerializer)
Reads a NullableGuid value.
procedure ReadNullableGuidWithErrorHandling(const aName: string; out Value: NullableGuid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableInt64 override
Reads a NullableInt64 value.
procedure ReadNullableInt64(const aName: string; out aValue: NullableInt64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableInt64WithErrorHandling (declared in TROSerializer)
Reads a NullableInt64 value.
procedure ReadNullableInt64WithErrorHandling(const aName: string; out Value: NullableInt64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableInteger override
Reads a NullableInteger value.
procedure ReadNullableInteger(const aName: string; out aValue: NullableInteger; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aValue: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadNullableIntegerWithErrorHandling (declared in TROSerializer)
Reads a NullableInteger value.
procedure ReadNullableIntegerWithErrorHandling(const aName: string; out Value: NullableInteger; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadObject (TObject) protected override (declared in TROSerializer)
Deserializes data of any object type.
procedure ReadObject(aObject: TObject)
Parameters:
- aObject: Object instance whose properties will be deserialized.
ReadObject (TObject) protected virtual abstract (declared in TROBaseSerializer)
Reads data of any object type.
procedure ReadObject(obj: TObject)
Parameters:
- obj: given object
ReadROCustomStreamable protected (declared in TROSerializer)
Reads a custom streamable object.
procedure ReadROCustomStreamable(const aName: string; aCustom: TObject; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- aCustom: Object
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadStruct override
Reads a Struct value.
function ReadStruct(const aName: string; aClass: TClass; var Ref: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadStructWithErrorHandling (declared in TROSerializer)
Reads a Struct value.
function ReadStructWithErrorHandling(const aName: string; aClass: TClass; out Value: ; ArrayElementId: Integer): Boolean
Parameters:
- aName: Name of the object to read.
- aClass: Class of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadUnicodeString override
Reads unicode string from stream
procedure ReadUnicodeString(const aName: string; var Ref: ; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadUnicodeStringWithErrorHandling (declared in TROSerializer)
Reads unicode string from stream
procedure ReadUnicodeStringWithErrorHandling(const aName: string; out Value: UnicodeString; ArrayElementId: Integer; aMaxLength: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
- aMaxLength: Specifies the maximum string length to read, is set to -1 when no restriction is required.
ReadVariant override
Reads a Variant value.
procedure ReadVariant(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadVariantWithErrorHandling (declared in TROSerializer)
Reads a Variant value.
procedure ReadVariantWithErrorHandling(const aName: string; out Value: Variant; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadXml override
Reads a XML value.
procedure ReadXml(const aName: string; var Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Ref: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
ReadXmlWithErrorHandling (declared in TROSerializer)
Reads a XML value.
procedure ReadXmlWithErrorHandling(const aName: string; out Value: IXMLNode; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to read.
- Value: Output parameter, should point to the deserialized instance.
- ArrayElementId: If the object about to be read is an array element, its index is contained in this parameter, otherwise it is -1.
Write (declared in TROSerializer)
The general method to serialize any data.
procedure Write(const aName: string; aTypeInfo: PTypeInfo; const Ref: ; ArrayElementId: Integer; Attributes: TParamAttributes)
Parameters:
- aName: Name of the object to write.
- aTypeInfo: Runtime type information of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
- Attributes: Attributes
WriteArray override
Writes an array value.
procedure WriteArray(const aName: string; const Ref: ; aClass: TClass; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- aClass: Class of the object to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteBinary override
Writes a Binary value.
procedure WriteBinary(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteBoolean override
Writes a Boolean value.
procedure WriteBoolean(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteCurrency override
Writes a Currency value.
procedure WriteCurrency(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDateTime override
Writes a TDateTime value.
procedure WriteDateTime(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDecimal override
Writes a Decimal value.
procedure WriteDecimal(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDouble override
Writes a Double value.
procedure WriteDouble(const aName: string; aFloatType: TFloatType; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aFloatType: Specifies the exact floating point data type to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteDouble_ override
Writes a Double value.
procedure WriteDouble_(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteEnumerated override
Writes an enumerated value.
procedure WriteEnumerated(const aName: string; anEnumTypeInfo: PTypeInfo; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- anEnumTypeInfo: Runtime type information of the enumerated type.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteException override
Writes an Exception value.
procedure WriteException(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteGuid override
Writes a GUID value.
procedure WriteGuid(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteInt32 override
Writes a Integer value.
procedure WriteInt32(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteInt64 override
Writes a Int64 value.
procedure WriteInt64(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteInteger override
Writes a Integer value (32 bits or less).
procedure WriteInteger(const aName: string; anOrdType: TOrdType; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- anOrdType: Specifies the exact integer data type to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteLegacyString override
Writes a legacy string (AnsiString or UTF8String) value.
procedure WriteLegacyString(const aName: string; const Ref: ; ExtraAttributes: TParamAttributes; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ExtraAttributes: specified what string should be written (AnsiString or UTF8String)
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableBoolean override
Writes a NullableBoolean value.
procedure WriteNullableBoolean(const aName: string; aValue: NullableBoolean; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableCurrency override
Writes a NullableCurrency value.
procedure WriteNullableCurrency(const aName: string; aValue: NullableCurrency; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableDateTime override
Writes a NullableDateTime value.
procedure WriteNullableDateTime(const aName: string; aValue: NullableDateTime; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableDecimal override
Writes a NullableDecimal value.
procedure WriteNullableDecimal(const aName: string; aValue: NullableDecimal; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableDouble override
Writes a NullableDouble value.
procedure WriteNullableDouble(const aName: string; aValue: NullableDouble; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableGuid override
Writes a NullableGuid value.
procedure WriteNullableGuid(const aName: string; aValue: NullableGuid; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableInt64 override
Writes a NullableInt64 value.
procedure WriteNullableInt64(const aName: string; aValue: NullableInt64; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteNullableInteger override
Writes a NullableInteger value.
procedure WriteNullableInteger(const aName: string; aValue: NullableInteger; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aValue: Value to write.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteObject (TObject) protected override (declared in TROSerializer)
Deserializes data of any object type.
procedure WriteObject(aObject: TObject)
Parameters:
- aObject: Object instance whose properties will be deserialized.
WriteObject (TObject) protected virtual abstract (declared in TROBaseSerializer)
Writes data of any object type.
procedure WriteObject(obj: TObject)
Parameters:
- obj: Object instance whose properties will be serialized.
WriteROCustomStreamable protected (declared in TROSerializer)
Writes a custom streamable object.
procedure WriteROCustomStreamable(const aName: string; aCustom: TObject; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- aCustom: Object
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteStruct override
Writes a Struct value.
procedure WriteStruct(const aName: string; const Ref: ; aClass: TClass; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- aClass: Class of the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteUnicodeString override
Writes a UnicodeString value.
procedure WriteUnicodeString(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteVariant override
Writes a Variant value.
procedure WriteVariant(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.
WriteXml override
Writes a XML value.
procedure WriteXml(const aName: string; const Ref: ; ArrayElementId: Integer)
Parameters:
- aName: Name of the object to write.
- Ref: Points to the instance to serialize.
- ArrayElementId: If the object to write is an array element, its index is contained in this parameter, otherwise it is -1.