Enum indicating property save or restore operation. The property is being saved. The property is being restored. An AnsiString or Variant, holding the property values. ? Type of an TStoredValue.OnSave and OnRestore notification handler. Called before a property is saved, after a it has been restored. ? ? A key/value pair, representing an property value, with added Save/Restore features. Overridden to return FName/Name. Sets Value to the empty string. Saves the value, after invocation of the OnSave handler. Reads the value and notifies the OnRestore handler. The Collection containing this object. The collection has a Storage property, used to Save and Restore the value. The name of the property. The value of the property (as String or Variant). Encryption key, empty for no encryption. This handler is invoked before the value is stored. This handler is invoked after the value has been loaded. A collection of property name/value pairs. Given the name of a property, returns the index of the Item object. Saves all Items into Storage. Loads all existing Items from Storage. The named Items objects must have been created already. The virtual storage object, used to Save and Restore the Values. The indexed list of all key/value pairs. The list of key/value pairs, accessible by their key names. Retrieves the value for an given key name. Links a storage object to a property collection. Not very useful by itself, Load/Save depends on installed handlers. Invokes the OnSave handler. Invokes the OnLoad handler. Refers to the concrete Storage object. The path to the root of the Storage object. Supply your handler for saving all properties. almost unused? Supply your handler for loading all properties. almost unused? Provides abstract means to Save/Restore properties. ...?describe? The list of linked property collections ? True when everything has been saved ? True when everything has been restored ? Establish a connection to a property collection. Drop the connection to a property collection. Notifies all connected property collections. purpose? Constructs the path name to this section, from the Owners of the Root object. Saves all linked property collections ? Restores all linked property collections ? Builds a list of all linked property collections ? set Objects (i.e. the component of each property) Reads the Strings[] in the list, retrieves and stores the associated Root or Component object in Objects[]. ? Reads an integer value, stored as a string. Default OnReadString handler, must be overridden! How to implement an OnReadString handler?template where? The previously stored string. ? ? The default value, when no string was stored. Default OnWriteString handler, must be overridden! How to implement an OnWriteString handler?template where? The name of the section. The name (key) of the property. The value string to store. Writes an Integer value as a String. Must be overridden ?how? Saves all linked property collections

Uses SaveProperties and StoredValues.SaveValues to do the actual work. At least one of these should be implemented.

All linked property collections are notified, when everything has been stored, or to actually store their values.

The OnSavingProperties handler is invoked before the properties are stored, OnSaveProperties afterwards.

?or?supply links????
Restores all linked property collections

Uses RestoreProperties and StoredValues.RestoreValues to do the actual work. At least one of these should be implemented.

All linked property collections are notified, when everything has been restored, or to actually restore the values.

The OnRestoringProperties handler is invoked before the properties are restored, OnRestoreProperties afterwards.

?or?supply links????
Override this to provide a storage object ??? Override this method to release your storage. ??? Reads an Boolean value, stored as a string. Reads an String value from the RootSection. Reads an integer value, stored as a string, from the RootSection. Reads an TRect record, stored as a string. Reads a list of strings, stored with a Count value. The name of the list property. The list to which the strings are added. A list of default values, used when nothing was stored yet. Writes an string into the RootSection. Writes an integer into the RootSection. Writes an boolean value into the RootSection. Writes an TRect record into the RootSection. Writes a list of strings into the RootSection. ? ? the Owner ? This determines if the object is active or not. ? ? Handler called at the beginning of Save. purpose? Handler called at the end of Save. purpose? Handler called at the beginning of Restore. purpose? Handler called at the end of Restore. purpose?