I did investigate (briefly) implementing a system similar to Delphi's component streaming system using RTTI... much like Chebmaster has implemented, but without the requirement to list fields manually in software as his system has.

I had great difficulties obtaining a list of properties.. although there is example code in the classes unit, I couldn't find a great deal of information about the routines and data structures I needed to use, so I gave up (largely due to time constraints).

The biggest problem with this approach is that you have to rely on the list of properties provided by the RTTI for the object. So, everything has to be published (I don't think public will do... this means of course you can't store array parameters as they can't be published) and if you remove a field, you are left with that field in the stream, so you have to take that into account when loading the data. This is where Delphi's built in mechanisms fall over.

Whilst the idea is great, I've pretty much decided against going down that road because of the implications with adding data to and removing it from the objects and its limitations in terms of what you can store (mainly simple types).

With regards to future articles, I have a couple in the pipeline at the moment, although they aren't all specifically about programming.