Storing Arrays in the Application
Object
if you store an array in a Application object, you should not attempt
to alter the elements of the stored array directly. For example,
the following script doesn't work <%Application ("StoreArray"))3)="new value" %>
This is because the Application object is implemented as a collection.
The array element StoreArray(3) does not receive the new value. Instead,
the value would be included in the Application object collection,
and would overwrite any information that had previously been stored
at that location.
It is strongly recommended that if you store an array in the Application
object, you retrieve a copy of the array before retrieving or changing
any of the elements of the array. When you are done with the array,
you should store the array in the Application object all over again,
so that any changes you made are saved. This demonstrated in the
following scripts.
file1.asp
<%
'Creating and initializing the array
dim MyArray()
Redim MyArray(5)
MyArray(0)="hello"
MyArray(1)="some other string"
'Storing the array in the Application object
Application.Lock
Application("StoredArray"=MyArray
Application.Unlock
Response.Redirect("file2.asp")
%>
file2.asp
<%
'Retrieving the Array from the Application Object
'and modifying its second element
LocalArray=Application("StoredArray")
LocalArray(1)=" there"
'Print out the string "hello there"
Response.Write(LocalArray(0)&LocalArray(1))
'Re-storing the array in the Application object
'This overwrites the values in StoredArray with the new values
Application.Lock
Application("StoredArray")=LocalArray
Application.Unlock
%>
|