title: Serialization of a TCollection which is not declared in a TComponent?
body: <p>Is it possible to serialize a TCollection which is not encapsulated in a TComponent ?</p>
  
  <p>For example, I have a custom TCollection. I can't use TMemoryStream.WriteComponent() on my TCollection descendant. It'll only works if I encapsulate the collection in a TComponent and then if I write this component.</p>
  
  <p>Technically there is no problem but declaring a TComponent which <strong>only</strong> owns a TCollection seems a bit odd.</p>
  
  <pre><code>TMyCustomCollection = Class(TCollection) // not serializable ?
    //...
  End;
  
  TMyCustomCollectionCapsule = Class(TComponent) // serializable !
  Private
    FMyCusColl: TMyCustomCollection;
    Procedure SetMyCusColl(Const Data: TMyCustomCollection);
  Published
    Property CanBeSerialized: TMyCustomCollection Read FMyCusColl Write SetMyCusColl
  End;
  </code></pre>
  
  <p>Maybe I just miss a feature of the Delphi RTL? Can a TPersistent descendent be streamed without being itself encapsulated in a TComponent ?</p>