Previously, to save the settings of some applications, I used:
- A
TSettings = class(TPersistent)
for the container - Each data to serialize in a published property
- List of object were TCollection and TCollectionItem types
The TJvAppXMLFileStorage component to save everything with the single line :
JvAppXMLFileStorage.WritePersistent(...);
BUT now, I'm using TObjectList as properties in the TSettings class.
So I drop the TCollection/TCollectionItem in favor of Generics ...
When serializing it, there is no list of items ... I think it's because TObjectList is not from TPersistent.
How can I serialize my TObjectList<> with TJvAppXMLFileStorage ?
I've successfuly serialize my generic list with few lines of code by calling
JvAppXMLFileStorage.WriteList
.First, this is how I serialized the list. The
WriteGenericsObjectListItem<TMyClass>
method is detailed below.Then, I just need to define how to serialize each item of the generic list. For this, I've created a generic method:
That's it!
I haven't modify JCL/JVCL code, only add these to my program.
I think I will submit a patch to JCL/JVCL team to add the compatibility with all Generics containers.
I hope this can help you !