The structure of the queue is defined in NetAll.Inc.
NetWebServerLocalDataQueueType Queue,type
Name string (80)
Value string (Net:ValueSize)
Picture cstring (32)
ValueFormatted byte
ValueExists byte
ExtValue &String
ExtValueSize Long
ExtValueLen Long
End
As you can see it contains slightly more than just the Name and Value. This is primarily because it needs to cope with data of unknown length. Most data is short, and fits into the Value field, but if it is too large then the ExtValue fields are used. In addition the value can be stored formatted or unformatted.
The name of the property in the Web is _LocalDataQueue
This means you can loop through the contents of the value queue using code something like this;
Loop x = 1 to records(p_web._LocalDataQueue)
Get (p_web._LocalDataQueue,x)
If p_web._LocalDataQueue.Name = ‘incoming’
! do whatever
End
End
Warning: The Value queue makes use of a pointer, ExtValue, which may be (indeed will be) NULL for many queue entries. All uses of this field should be wrapped in a test and should you delete any queue entries, then make sure this field is DISPOSEd first.
if not p_web._LocalDataQueue.ExtValue &= NULL
cheers
Bruce