This demo shows how to use PtEvents and how it can prove useful with PtSettings.
This demo also shows how settings properties can use getter and setter methods for more specific settings handling.
Read about TNotifyEvents to see what it does.
In this demo, all settings groups inherit from TSettingsEventGroup which includes property OnChange: TNotifyEvents.
TSettingsEventGroup overrides Loaded and Loading. The code supplied in these methods make the settings group wait with calling events until all its settings have finished being set. Once they are all loaded, the OnChange events are called once.
TSettings subscribes to its childrens events in its constructor and unsubscribes to those events in its destructor, and frmMain subscribes to Settings.OnChange events.