|
NG SerializerPack
Date: 06.09.2015 (© by LMD Innovative, (http://www.lmd.de or http://www.lmdinnovative.com)
Introduction NG Serialization pack provides the ability to serialize/de-serialize Delphi objects into various storage formats. Any public (not only published!) property can be automatically handled by the engine. This allows to write data applications more easily and in more object oriented way. NG SerializationPack uses enhanced RTTI features and supports latest features of Delphi/C++Builder runtime (like e.g. Generics).
Common use cases of a serialization engine are: - Saving/loading application options / configuration data which are represented by typed objects.
- Sending business objects via net between client and server.
- Saving/loading CAD-like application documents, since they are usually represented at runtime in a tree-like object model.
- ect.
See also: NG Serialization Guide.
The package contains 2 extensive demo projects. One of them demonstrates a common use of NG Serialization Pack: Transmitting business objects between client and server applications. An extensive object model is created and usage of many supported attributes and creation of converter classes are demonstrated. The second more simpler one demonstrates simplicity of (de-)serializing generic TObject and TObjectList descendants from/to XML files.
In the first release the following formats are supported:- XML via Delphi standard XML access, e.g. IXmlDocument, IXmlNode.
- As demonstration for supporting custom formats XML support is also shown using OmniXML
- Binary stream via standard Delphi TStream.
- Other formats, such as storing directly into Windows Registry, JSON, ect. are considered for next versions.
System requirements - Compatible with Delphi and C++ Builder XE and better, including 64bit support for XE2 and higher! The next Delphi/C++Builder release will be supported almost immediately after public availability.
- Supported IDEs:
- Delphi XE and better
- C++ Builder XE and better
- All corresponding Studio Products (RAD Studio XE and better)
- Supported operating systems: Win 2000 or better (including Windows 7/8/10)
- Full sourcecode of all controls included. Registered versions include NG util to compile packages on target system.
- Extensive demo projects with sourcecode
- Free updates via Internet
- A Site License covers unlimited number of developers in same organization at one location
- Free technical support via newsgroup (news.lmdtools.com), e-mail, fax or mail;
- Also available as part of NG Complete or LMD VCL Complete.
Features - The ability of handling most of Delphi types. Engine does not favor to classes, any type, starting from primitive types, such as Integer or string, continuing to more complex types, such as records or arrays, can be serialized/de-serialized.
- Support for serializing class/record fields or properties.
- Full inheritance support.
- The ability of adjusting serialization process using provided attributes, such as SerializableAttribute, TransientAttribute, AliasAttribute, ect.
- The ability of writing custom converters.
- Support of fill-read mode via FillReadAttribute. This mode allows to de-serialize owned by parent object sub-objects without re-creating them; that is, instead of usual action sequence, which is to create new sub-object instance, read its properties and assign this created instance to parent object's property, fill-read mode use the following action sequence: read parent object's property, and use read sub-object value to read its properties. This way parent object's property can be even read-only.
Component Overview
Tab "NG Serializer" |
|
Serializer NG SerializerPack does not contain any components. You use serializer classes or wrappers in a simple way to save/restore your objects. |
[Top]
|
|