Due to the current implementation pattern of the
type in Delphi, it was not possible to implement directly this kind of
In fact, the
TCollection constructor is defined as such:
constructor Create(ItemClass: TCollectionItemClass);
And, on the server side, we do not know which kind of
TCollectionItemClass is to be passed. Therefore, the
TServiceFactoryServer is unable to properly instantiate the object
instances, supplying the expected item class.
The framework propose two potential solutions:
- You can let your collection class inherit from the new
- You can call the
TJSONSerializer.RegisterCollectionForJSON()method to register the collection type and its associated item class.
First solution has already
been detailed in this blog.
We will now describe the second (and new) way.