¨P
Active Data Server
Create a data server using COM. Localize all your date there and share it among several processes.
Step 1:
Create the server application. In the example (Source provided), this will be a simple application containing stings and numbers.

Step 2:
Create A DataServer Automation Object (Click New...|Automation Object and enter a name for it. In the example, I called it DataSvr). I now see a funny window contining 2 things: IDataSvr and DataSvr. For this project we'll manipulate IDataSvr by adding 2 properties. Add a property by highlighting the IDataSvr. You'll have a series of choices along the top. Click Property. Change the name of the property to "Animal" (or whatever applies to your case).
Step 3:
Open the unit for the Automation Object. It can be hard to find since Delphi doesn't open it automatically. In the sample the unit is called "uDataServ.pas"; it will be Unit1 by default. In this unit you should see your new Class with Get_Animal and Set_Animal in it. Modify them as follows:

function TDataSvr.Get_Animal(Index: Integer): WideString;
begin
Result := MainForm.Memo1.Lines[Index];
end;

procedure TDataSvr.Set_Animal(Index: Integer; const Value: WideString);
begin
MainForm.Memo1.Lines[Index] := Value;
end;

Step 4:
Test your new server

Make a new form with a button like this:

procedure TForm1.Button1Click(Sender: TObject);
var

    R: OleVariant;
begin
    R := CreateOLEObject('ActServ.DataSvr');
    ShowMessage(R.Animal[1]);
end;

Provided everything has gone right, you should now see "cat". If you leave ActServ open and change the contents of the memo you can instantly see the results by pressing the button.

Notes:
This is a rather simple method. There is a more complicated method (based on this one) to follow.