The development of “My RSS Reader” has slowed down slightly because I was obsessed with installing Solaris 10 (aka Solaris Express) x86 beta 5 on my laptop during the past 2 days.

The last time I've touched on Solaris was about 3 years back, when I was studying for my Sun Certified System Administrator for Solaris 8. And before that, I was doing systems administration for a period of 3 years using Solaris, Novell Netware and Windows NT.

I've finally implemented settings persistence for “My RSS Reader”. Now, the width and height of the treeview, list view, the visibility of the status history, the main form's location and size is preserved.

The persistence settings mechanism is implemented using XML. I used Dieter Köhler's Open XML to implement it. “My RSS Reader” now also supports fetching feeds and blogs through HTTP proxies.

In implementing the persistence settings mechanism, I've also implemented a multi-casted event model for one of the classes I've used in persisting data.  It behaves slightly like the CLR's multicasting event model. However, it does not have Delphi 8's Include and Exclude support.

Basically, event handlers are assigned like this,

MyClassInstance.SomeEvent := EventHandler1;
...
MyClassInstance.SomeEvent := EventHandler2;

and internally, when an interesting property changes, the class fires off all the event handlers that has been assigned to SomeEvent. In the event [no pun intended ;o) ] that there is a need to remove an event handler, just assign nil to the SomeEvent property. The last event handler assigned to SomeEvent will then be removed.

In addition, I've also implemented functionality to reduce the memory usage of the program.