A simple example, on one account we do

ShMem[0]:= 5;  // Assigned the value 5 to the 0th element of the array.

On another account, print the value

Print(IntToStr(ShMem[0]));  // Print 5, which was assigned to the script on the other

An array can contain other arrays \ lists:

if (ShMem[0] <> 0) then ShMem[0]:= Integer(TStringList.Create);
TStringList(ShMem[0]).Add('new string');
print(TStringList(ShMem[0])[0]);