ALP Request collections comments
The QueryString,Form and ServerVariables collections of the Request object are implemented using the newObjects Collections components from the ALP Run-time library (VarDictionary and UtilStringList). This helps to decrease the size of the code required by the ALP by using shared components, but this also means that you must be careful not to use any extended features available if you want to keep the application compatible with IIS.

The newObjects Collections are dynamic universal collections used in different applications thus they support adding removing of the elements more error safety and additional properties. Thus relatively to the Request collections in the Microsoft ASP they have extended features.

To avoid tempting the developers use the extended features the ASP documentation in ALP describes only the features common for ALP and classic ASP. However you can always look into the VarDictionary and UtilStringList documentation if you want to see what extended features can be used.

The structure of all the Request collections is the same. For example the Form collection is constructed this way:

Set x = Request.Form - returns a VarDictionary collection with all the form fields in the request. Thus Request.Form(x) will return a form field element. x - can be numeric index between 1 and Request.Form.Count or a field name.

Each field element may contain one or more values, because more than one form fields may have the same name. Thus the Form field element is represented by UtilStringList collection which contains all  the values as strings. This means that you can refer to a value like this: Request.Form(field_index_or_name)(value_index), where the value_index can be between 1 and Request.Form(field_index_or_name).Count 

Changes in version 1.0.5

In previous versions of ALP Request Collections returned empty strings for the missing elements - i.e. indexed elements that doesn't exist in the collection (for example QueryString parameter that is not passed in the request). From version 1.0.5 behavior is changed in ASP compatible manner and now empty variants are returned. This incompatibility caused problems for the ASP pages written in VBScript - conversions of the missing values from the Request Collections caused errors when using conversion functions such as CLng, CInt and so on. See also UtilStringList. The old behavior is preserved whenever the ALP Application settings for the ASP module are set to IIS compatibility level 0, any level greater than 0 will assume the new behavior. 

newObjects Copyright 2001-2006 newObjects [ ]