home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2005 June (DVD) / DPPRO0605DVD.iso / Install / System32 / INET90.XML < prev    next >
Encoding:
Extensible Markup Language  |  2004-10-22  |  479.4 KB  |  5,579 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <doc>
  3.    <assembly>inet</assembly>
  4.    <members>
  5.       <member name="T:WebCntxt.IWebPageInfo">
  6.          <summary>
  7.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  8.                
  9.                <class namespace="WebCntxt">IWebPageInfo</class> describes a Web page in a WebSnap application.</para>
  10.          </summary>
  11.          <comments>
  12.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="WebCntxt">IWebPageInfo</class> to obtain information about a Web page, including its page name, page title, descriptive text, publish status, and access rights. This information is taken from a TWebPageInfo object that is stored with the Web page module factory.</para>
  13.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  14.                
  15.                <para>VCL Method declarations that use <class namespace="WebCntxt">IWebPageInfo</class> use the _di_<class namespace="WebCntxt">IWebPageInfo</class> type instead. This type is a DelphiInterface wrapper around the <class namespace="WebCntxt">IWebPageInfo</class> interface:</para>
  16.             
  17.             </note>
  18.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" language="CBuilder">typedef System::DelphiInterfaceDelphiInterface_object< IWebPageInfo >  _di_IWebPageInfo;</codeBlock>
  19.          </comments>
  20.       </member>
  21.       <member name="P:WebCntxt.WebCntxt.PageName">
  22.          <summary>
  23.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Denotes the logical name for the Web page.</para>
  24.          </summary>
  25.          <comments>
  26.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="IWebPageInfo">PageName</property> to determine the name of the Web page. This name is used to identify the page in server-side scripts, and as the pathinfo portion of the URL for the page when the PageIsPublished property is true.</para>
  27.          </comments>
  28.       </member>
  29.       <member name="P:WebCntxt.WebCntxt.PageHREF">
  30.          <summary>
  31.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Identifies the HREF to use for references to the associated Web page.</para>
  32.          </summary>
  33.          <comments>
  34.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="IWebPageInfo">PageHREF</property> to obtain the HTTP path string that should be inserted in HTML code to create a hypertext link to the associated Web page.</para>
  35.          </comments>
  36.       </member>
  37.       <member name="P:WebCntxt.WebCntxt.PageTitle">
  38.          <summary>
  39.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the title that appears on the Web page.</para>
  40.          </summary>
  41.          <comments>
  42.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="IWebPageInfo">PageTitle</property> to determine the title that appears on the Web page when viewed from a user's browser. </para>
  43.          </comments>
  44.       </member>
  45.       <member name="P:WebCntxt.WebCntxt.PageDescription">
  46.          <summary>
  47.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Describes the Web page.</para>
  48.          </summary>
  49.          <comments>
  50.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="IWebPageInfo">PageDescription</property> to obtain a brief description of the Web page.</para>
  51.          </comments>
  52.       </member>
  53.       <member name="P:WebCntxt.WebCntxt.PageIsPublished">
  54.          <summary>
  55.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the WebSnap application automatically displays the Web page in response to request messages where the pathinfo portion of the target URL matches PageName. </para>
  56.          </summary>
  57.          <comments>
  58.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="IWebPageInfo">PageIsPublished</property> to determine whether the page dispatcher (TPageDispatcher) automatically calls on the associated Web page module when it receives HTTP request messages that address this Web page by name. HTTP request messages address a Web page when the pathinfo portion of their target URL matches the value of the PageName property.</para>
  59.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When IsPublished is false, the WebSnap application must explicitly retrieve the content for the Web page and add it to a response message.</para>
  60.          </comments>
  61.       </member>
  62.       <member name="P:WebCntxt.WebCntxt.LoginRequired">
  63.          <summary>
  64.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether callers must log in before accessing this Web page.</para>
  65.          </summary>
  66.          <comments>
  67.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="IWebPageInfo">LoginRequired</property> to determine whether users must log in before they can access this Web page. The application can overrule the <property namespace="WebCntxt" class="IWebPageInfo">LoginRequired</property> property by supplying an OnIs<property namespace="WebCntxt" class="IWebPageInfo">LoginRequired</property> event handler to the page dispatcher.</para>
  68.          </comments>
  69.       </member>
  70.       <member name="P:WebCntxt.WebCntxt.HasViewAccess">
  71.          <summary>
  72.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the current user has access rights to view the Web page.</para>
  73.          </summary>
  74.          <comments>
  75.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  76.                      
  77.                <property namespace="WebCntxt" class="IWebPageInfo">HasViewAccess</property> is true if the current end user has view rights for the associated Web page, false otherwise.</para>
  78.          </comments>
  79.       </member>
  80.       <member name="T:WebCntxt.IWebEndUser">
  81.          <summary>
  82.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  83.                
  84.                <class namespace="WebCntxt">IWebEndUser</class> provides access information about the current end user in a WebSnap application.</para>
  85.          </summary>
  86.          <comments>
  87.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="WebCntxt">IWebEndUser</class> to obtain information about the current end user, such as the user name, user ID, and whether the user is logged in. In addition to properties that provide information about the current end user, <class namespace="WebCntxt">IWebEndUser</class> has methods to log in an end user. </para>
  88.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">End user adapter components such as TEndUserAdapter and TEndUserSessionAdapter implement the <class namespace="WebCntxt">IWebEndUser</class> interface. If a WebSnap application includes an end user adapter, you can access its <class namespace="WebCntxt">IWebEndUser</class> interface by reading the EndUser property of the Web context.</para>
  89.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  90.                
  91.                <para>In C++, method declarations that use <class namespace="WebCntxt">IWebEndUser</class> use the _di_<class namespace="WebCntxt">IWebEndUser</class> type instead. This type is a DelphiInterface wrapper around the <class namespace="WebCntxt">IWebEndUser</class> interface:</para>
  92.             
  93.             </note>
  94.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  95.                
  96.                <para>typedef System::DelphiInterface< <class namespace="WebCntxt">IWebEndUser</class> >  _di_<class namespace="WebCntxt">IWebEndUser</class>;</para>
  97.             
  98.             </note>
  99.          </comments>
  100.       </member>
  101.       <member name="M:WebCntxt.WebCntxt.HasExecuteRights">
  102.          <summary>
  103.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the current user has access rights to execute Web pages or adapters associated with a specified access string.</para>
  104.          </summary>
  105.          <comments>
  106.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="IWebEndUser">HasExecuteRights</method> to determine whether the current end user is authorized to execute Web pages or adapters whose ViewRights property is the value specified by ARights. </para>
  107.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Typically, the end user adapter that implements this interface implements <method namespace="WebCntxt" class="IWebEndUser">HasExecuteRights</method> by checking the AccessRightsStrings property of the entry for this end user in a TWebUserList component. Note that in this case, the end user must be logged in before <method namespace="WebCntxt" class="IWebEndUser">HasExecuteRights</method> can determine the user's access rights.</para>
  108.          </comments>
  109.       </member>
  110.       <member name="M:WebCntxt.WebCntxt.HasViewRights">
  111.          <summary>
  112.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the current user has access rights to view Web pages or adapters associated with a specified access string.</para>
  113.          </summary>
  114.          <comments>
  115.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="IWebEndUser">HasViewRights</method> to determine whether the current end user is authorized to view Web pages or adapters whose ViewRights property is the value specified by ARights. </para>
  116.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Typically, the end user adapter that implements this interface implements <method namespace="WebCntxt" class="IWebEndUser">HasViewRights</method> by checking the AccessRightsStrings property of the entry for this end user in a TWebUserList component. Note that in this case, the end user must be logged in before <method namespace="WebCntxt" class="IWebEndUser">HasViewRights</method> can determine the user's access rights.</para>
  117.          </comments>
  118.       </member>
  119.       <member name="M:WebCntxt.WebCntxt.HasModifyRights">
  120.          <summary>
  121.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the current user has access rights to modify Web pages or adapters associated with a specified access string.</para>
  122.          </summary>
  123.          <comments>
  124.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="IWebEndUser">HasModifyRights</method> to determine whether the current end user is authorized to modify Web pages or adapters whose ViewRights property is the value specified by ARights. </para>
  125.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Typically, the end user adapter that implements this interface implements <method namespace="WebCntxt" class="IWebEndUser">HasModifyRights</method> by checking the AccessRightsStrings property of the entry for this end user in a TWebUserList component. Note that in this case, the end user must be logged in before <method namespace="WebCntxt" class="IWebEndUser">HasModifyRights</method> can determine the user's access rights.</para>
  126.          </comments>
  127.       </member>
  128.       <member name="M:WebCntxt.WebCntxt.ProduceLoginPage">
  129.          <summary>
  130.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Generates the Web page for logging in users.</para>
  131.          </summary>
  132.          <comments>
  133.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="IWebEndUser">ProduceLoginPage</method> to generate a Web page for logging in users.</para>
  134.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  135.                      
  136.                <method namespace="WebCntxt" class="IWebEndUser">ProduceLoginPage</method> returns true if it generates a login form page and updates the current response message so that it will be displayed to the user. <method namespace="WebCntxt" class="IWebEndUser">ProduceLoginPage</method> returns false if the end user adapter is unable to generate a login page.</para>
  137.          </comments>
  138.       </member>
  139.       <member name="M:WebCntxt.WebCntxt.LogIn">
  140.          <summary>
  141.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Logs in a specified user.</para>
  142.          </summary>
  143.          <comments>
  144.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="IWebEndUser">LogIn</method> to record a user as logged in. Typically, <method namespace="WebCntxt" class="IWebEndUser">LogIn</method> is called in response to a message from the login page that ProduceLoginPage generates.</para>
  145.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">UserID is the identifier of the user that logged in. It is the value of the UserID property of the entry for the user in a WebUserList component, or, in applications that implement their own login scheme, any other Variant that identifies an end user.</para>
  146.          </comments>
  147.       </member>
  148.       <member name="P:WebCntxt.WebCntxt.DisplayName">
  149.          <summary>
  150.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the name of the end user as it should be used for display in Web pages.</para>
  151.          </summary>
  152.          <comments>
  153.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="IWebEndUser">DisplayName</property> to obtain a string that can be added to Web pages to refer to the current user.</para>
  154.          </comments>
  155.       </member>
  156.       <member name="P:WebCntxt.WebCntxt.LoggedIn">
  157.          <summary>
  158.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the current user is logged in.</para>
  159.          </summary>
  160.          <comments>
  161.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="IWebEndUser">LoggedIn</property> to determine whether the current user has logged in to the WebSnap application. By logging in, a caller can be identified as one of the users that a TWebUserList component lists.</para>
  162.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Once the user has logged in, the HasViewRights, HasExecuteRights, and HasModifyRights methods can be used to determine whether the user is authorized to view, execute actions, and modify data on restricted Web pages.</para>
  163.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">To log in a user that is not logged in, call the ProduceLoginPage method to display a login Web page. That page should allow the user to provide some sort of UserID, which can then be used to log the user in by a call to the LogIn method.</para>
  164.          </comments>
  165.       </member>
  166.       <member name="P:WebCntxt.WebCntxt.LoginFormAction">
  167.          <summary>
  168.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the action component for the login form.</para>
  169.          </summary>
  170.          <comments>
  171.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="IWebEndUser">LoginFormAction</property> to access the login form action component. The login form action component can be called from server-side scripts to display a login form Web page. </para>
  172.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  173.                      
  174.                <para>To display the login form Web page using the <property namespace="WebCntxt" class="IWebEndUser">IWebEndUser</property> interface (rather than from a server-side script), call the ProduceLoginPage method.</para>
  175.                   
  176.             </note>
  177.          </comments>
  178.       </member>
  179.       <member name="P:WebCntxt.WebCntxt.LogoutAction">
  180.          <summary>
  181.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the action component for logging a user out.</para>
  182.          </summary>
  183.          <comments>
  184.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="IWebEndUser">LogoutAction</property> to access the logout action component. The logout action component can be called from server-side scripts to perform any necessary tasks when the user logs out. </para>
  185.          </comments>
  186.       </member>
  187.       <member name="P:WebCntxt.WebCntxt.EndUserAdapter">
  188.          <summary>
  189.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the end user adapter that implements this interface.</para>
  190.          </summary>
  191.          <comments>
  192.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="IWebEndUser">EndUserAdapter</property> to obtain access to the end user adapter. This is the component that implements this interface. Typically, it is a T<property namespace="WebCntxt" class="IWebEndUser">EndUserAdapter</property> or TEndUserSessionAdapter instance.</para>
  193.          </comments>
  194.       </member>
  195.       <member name="T:WebCntxt.TAbstractWebContext">
  196.          <summary>
  197.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  198.                
  199.                <class namespace="WebCntxt">TAbstractWebContext</class> is the base class for objects that represent the current state of a WebSnap application.</para>
  200.          </summary>
  201.          <comments>
  202.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">A Web context stores information about the components that are available in a WebSnap application and about the current request that is being processed. Applications do not create instances of the Web context. Rather, they access the current Web context object by calling the global WebContext function.</para>
  203.          </comments>
  204.       </member>
  205.       <member name="M:WebCntxt.WebCntxt.FindApplicationModule">
  206.          <summary>
  207.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the application module instance.</para>
  208.          </summary>
  209.          <comments>
  210.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TAbstractWebContext">FindApplicationModule</method> to access the main Web module in the WebSnap application. <method namespace="WebCntxt" class="TAbstractWebContext">FindApplicationModule</method> returns a reference to the module that the WebSnap application wizard creates. This can be an instance of TWebAppPageModule or TWebAppDataModule.</para>
  211.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The Application module is the module that holds the application-wide components such as the page dispatcher, end user adapter, application adapter, and so on.</para>
  212.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">WebModuleContext is a context object that holds design-time information about the application modules. It is only used at design time. </para>
  213.          </comments>
  214.       </member>
  215.       <member name="M:WebCntxt.WebCntxt.FindModuleClass">
  216.          <summary>
  217.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns an instance of a Web module, given its class reference.</para>
  218.          </summary>
  219.          <comments>
  220.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TAbstractWebContext">FindModuleClass</method> to obtain a reference to a Web module given its class reference. If an instance of the specified class already exists, <method namespace="WebCntxt" class="TAbstractWebContext">FindModuleClass</method> returns that instance. Otherwise, if the specified class represents a registered Web module class, <method namespace="WebCntxt" class="TAbstractWebContext">FindModuleClass</method> creates an instance of the specified class and returns the new instance.</para>
  221.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AClass is the class reference to a registered Web module class. This class is declared in code that the Web page module wizard or Web data module wizard generates.</para>
  222.          </comments>
  223.       </member>
  224.       <member name="M:WebCntxt.WebCntxt.FindModuleName">
  225.          <summary>
  226.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns an instance of a Web module, given its class name.</para>
  227.          </summary>
  228.          <comments>
  229.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TAbstractWebContext">FindModuleName</method> to obtain a reference to a Web module given the name of its implementation class. If an instance of the specified class already exists, <method namespace="WebCntxt" class="TAbstractWebContext">FindModuleName</method> returns that instance. Otherwise, if the specified class represents a registered Web module class, FindModuleClass creates an instance of the specified class and returns the new instance.</para>
  230.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AClass is the name of a registered Web module class. This class is declared in code that the Web page module wizard or Web data module wizard generates.</para>
  231.          </comments>
  232.       </member>
  233.       <member name="M:WebCntxt.WebCntxt.FindPage">
  234.          <summary>
  235.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Retrieves a Web page module given its name.</para>
  236.          </summary>
  237.          <comments>
  238.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TAbstractWebContext">FindPage</method> to obtain an instance of a registered Web page module given its name. If an instance of the specified Web page module already exists, <method namespace="WebCntxt" class="TAbstractWebContext">FindPage</method> returns that instance. Otherwise, if the named Web page module is registered, <method namespace="WebCntxt" class="TAbstractWebContext">FindPage</method> creates an instance of the module and returns the new instance.</para>
  239.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">APage is the name of the desired Web page module. The name is specified using the Web page module wizard, and forms the basis of the Web page module's class name. Thus, a Web page module with a name MyPage has the class name TMyPage.</para>
  240.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AOptions is a set of options that can limit the page modules that <method namespace="WebCntxt" class="TAbstractWebContext">FindPage</method> considers. For any option included in this set, <method namespace="WebCntxt" class="TAbstractWebContext">FindPage</method> only considers Web page modules that have the corresponding attribute.</para>
  241.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AComponent returns the instance of the specified Web page module.</para>
  242.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  243.                      
  244.                <method namespace="WebCntxt" class="TAbstractWebContext">FindPage</method> returns true if it can find or create an instance of the specified Web page module, false otherwise.</para>
  245.          </comments>
  246.       </member>
  247.       <member name="M:WebCntxt.WebCntxt.FindPageInfo">
  248.          <summary>
  249.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Retrieves a Web page information object given the name of the corresponding Web page module.</para>
  250.          </summary>
  251.          <comments>
  252.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TAbstractWebContext">FindPageInfo</method> to obtain the Web page information object for a Web page module. <method namespace="WebCntxt" class="TAbstractWebContext">FindPageInfo</method> retrieves the information object that is registered for the Web page module that has a specified name. The Web page information object describes the characteristics of the Web page, including its name, title, HREF, view access string, an indication of whether users must log in to access the page, and so on.</para>
  253.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">APage is the name of the desired Web page module. The name is specified using the Web page module wizard, and forms the basis of the Web page module's class name. Thus, a Web page module with a name MyPage has the class name TMyPage.</para>
  254.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AOptions is a set of options that can limit the page modules that <method namespace="WebCntxt" class="TAbstractWebContext">FindPageInfo</method> considers. For any option included in this set, <method namespace="WebCntxt" class="TAbstractWebContext">FindPageInfo</method> only considers Web page modules that have the corresponding attribute.</para>
  255.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">APageInfo returns the Web page information object that describes the characteristics of the specified Web page module, and that provides access to the factory object that you can use to create instances of the Web page module.</para>
  256.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  257.                      
  258.                <method namespace="WebCntxt" class="TAbstractWebContext">FindPageInfo</method> returns false if it can't return a value for the APageInfo parameter. <method namespace="WebCntxt" class="TAbstractWebContext">FindPageInfo</method> returns true if it locates a registered Web page module with the specified name and attributes. </para>
  259.          </comments>
  260.       </member>
  261.       <member name="M:WebCntxt.WebCntxt.FindDefaultPageInfo">
  262.          <summary>
  263.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Retrieves the Web page information object for a specified class of Web module.</para>
  264.          </summary>
  265.          <comments>
  266.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TAbstractWebContext">FindDefaultPageInfo</method> to obtain the Web page information object for a Web module. <method namespace="WebCntxt" class="TAbstractWebContext">FindDefaultPageInfo</method> retrieves the information object that is registered for the Web page module class specified by AComponentClass. The Web page information object describes the characteristics of the Web page, including its name, title, HREF, view access string, an indication of whether users must log in to access the page, and so on.</para>
  267.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AComponentClass is a class reference to the class that implements the Web page module. This class is declared in code that the Web page module wizard generates.</para>
  268.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">APageInfo returns the Web page information object that describes the characteristics of the specified Web page module, and that provides access to the factory object that you can use to create instances of the Web page module.</para>
  269.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  270.                      
  271.                <method namespace="WebCntxt" class="TAbstractWebContext">FindDefaultPageInfo</method> returns false if it can't return a value for the APageInfo parameter. <method namespace="WebCntxt" class="TAbstractWebContext">FindDefaultPageInfo</method> returns true if it locates a registered Web page module for the class specified by AComponentClass. </para>
  272.          </comments>
  273.       </member>
  274.       <member name="M:WebCntxt.WebCntxt.FindVariableContainer">
  275.          <summary>
  276.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns an instance of a Web data module, given its class name.</para>
  277.          </summary>
  278.          <comments>
  279.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TAbstractWebContext">FindVariableContainer</method> to obtain a reference to a Web data module given the name of its implementation class. If an instance of the specified class already exists, <method namespace="WebCntxt" class="TAbstractWebContext">FindVariableContainer</method> returns that instance. Otherwise, if the specified class represents a registered Web module class, <method namespace="WebCntxt" class="TAbstractWebContext">FindVariableContainer</method> creates an instance of the specified class and returns the new instance.</para>
  280.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AIdent is the name of a registered Web data module class. This class is declared in code that the Web data module wizard generates.</para>
  281.          </comments>
  282.       </member>
  283.       <member name="M:WebCntxt.WebCntxt.Destroy">
  284.          <summary>
  285.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Frees an instance of <method namespace="WebCntxt" class="TAbstractWebContext">TAbstractWebContext</method>.</para>
  286.          </summary>
  287.          <comments>
  288.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not free the global Web context object. This object is automatically maintained by the WebSnap application.</para>
  289.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <method namespace="WebCntxt" class="TAbstractWebContext">TAbstractWebContext</method> destructor unregisters itself with the global WebContext function so that the WebContext function never returns a Web context that no longer exists.</para>
  290.          </comments>
  291.       </member>
  292.       <member name="P:WebCntxt.WebCntxt.Request">
  293.          <summary>
  294.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the current HTTP request that the application is handling.</para>
  295.          </summary>
  296.          <comments>
  297.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="TAbstractWebContext">Request</property> to obtain information about the current HTTP request message. The request object provides access to the headers of the request message, as well as the content of the message.</para>
  298.          </comments>
  299.       </member>
  300.       <member name="P:WebCntxt.WebCntxt.Response">
  301.          <summary>
  302.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the current HTTP response that the application is assembling.</para>
  303.          </summary>
  304.          <comments>
  305.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="TAbstractWebContext">Response</property> to obtain information about or add to the response message that the application builds as a reply to the message that the Request property specifies. The response object provides access to the headers of the response message, as well as the content of the message.</para>
  306.          </comments>
  307.       </member>
  308.       <member name="P:WebCntxt.WebCntxt.AdapterRequest">
  309.          <summary>
  310.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the adapter request object that manages access to the current request.</para>
  311.          </summary>
  312.          <comments>
  313.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  314.                      
  315.                <property namespace="WebCntxt" class="TAbstractWebContext">AdapterRequest</property> is the interface of the object that adapters use to obtain information about the current HTTP request message. The adapter request object obtains its information from the TWebRequest object that is the value of the Request property.</para>
  316.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  317.                      
  318.                <para>In Delphi, this interface can typically be cast to an IActionRequest interface.</para>
  319.                   
  320.             </note>
  321.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  322.                      
  323.                <para>In C++, you can generally obtain an IActionRequest interface from this interface.</para>
  324.                   
  325.             </note>
  326.          </comments>
  327.       </member>
  328.       <member name="P:WebCntxt.WebCntxt.AdapterResponse">
  329.          <summary>
  330.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the adapter response object that manages access to the current response.</para>
  331.          </summary>
  332.          <comments>
  333.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  334.                      
  335.                <property namespace="WebCntxt" class="TAbstractWebContext">AdapterResponse</property> is the interface of the object that adapters use to obtain information about the current HTTP response message. The adapter response object obtains its information from the TWebResponse object that is the value of the Response property.</para>
  336.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  337.                      
  338.                <para>In Delphi, this interface can typically be cast to an IActionResponse interface.</para>
  339.                   
  340.             </note>
  341.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  342.                      
  343.                <para>In C++, you can generally obtain an IActionResponse interface from this interface.</para>
  344.                   
  345.             </note>
  346.          </comments>
  347.       </member>
  348.       <member name="P:WebCntxt.WebCntxt.Session">
  349.          <summary>
  350.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the current Web session.</para>
  351.          </summary>
  352.          <comments>
  353.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="WebCntxt" class="TAbstractWebContext">Session</property> to get or set information about the current session. <property namespace="WebCntxt" class="TAbstractWebContext">Session</property>s store information about an end user that is needed for a short period of time. This can be used for such tasks as login/logout support, recording user preferences, and so on.</para>
  354.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  355.                      
  356.                <para>If you want to use a session to store end user information, the WebSnap application should include a T<property namespace="WebCntxt" class="TAbstractWebContext">Session</property>sService component.</para>
  357.                   
  358.             </note>
  359.          </comments>
  360.       </member>
  361.       <member name="P:WebCntxt.WebCntxt.WebModules">
  362.          <summary>
  363.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists all the Modules in the WebSnap application.</para>
  364.          </summary>
  365.          <comments>
  366.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="WebCntxt" class="TAbstractWebContext">WebModules</property> to access one of the Web modules that make up the WebSnap application. <property namespace="WebCntxt" class="TAbstractWebContext">WebModules</property> lists all of the currently instantiated Web modules. It also provides access to the factory objects for all Web modules in the application, including those that are not yet instantiated.</para>
  367.          </comments>
  368.       </member>
  369.       <member name="P:WebCntxt.WebCntxt.PageCount">
  370.          <summary>
  371.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the number of registered Web pages available in the WebSnap application.</para>
  372.          </summary>
  373.          <comments>
  374.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  375.                      
  376.                <property namespace="WebCntxt" class="TAbstractWebContext">PageCount</property> indicates the number of entries in the Pages property array. Use this value as an upper bound for the index when iterating over all the pages in the WebSnap application.</para>
  377.          </comments>
  378.       </member>
  379.       <member name="P:WebCntxt.WebCntxt.Pages">
  380.          <summary>
  381.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the page information interfaces of the registered Web pages available in the WebSnap application.</para>
  382.          </summary>
  383.          <comments>
  384.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="WebCntxt" class="TAbstractWebContext">Pages</property> to obtain an IWebPageInfo interface for a registered Web page module. The IWebPageInfo interface describes the characteristics of a Web page, including its name, title, HREF, description, an indication of whether users must log in to access the page, an indication of whether the current user has access rights to view the page, and so on.</para>
  385.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  386.                      
  387.                <property namespace="WebCntxt" class="TAbstractWebContext">Pages</property> provides indexed access to page information interfaces. To access the information about a Web page given its name, use the FindPageInfo method instead. To access the information given the class of the Web page module, use the FindDefaultPageInfo method instead. To access the page module itself (rather than the page information interface), use the WebModules property instead.</para>
  388.          </comments>
  389.       </member>
  390.       <member name="P:WebCntxt.WebCntxt.EndUser">
  391.          <summary>
  392.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to information about the end user that sent the current request.</para>
  393.          </summary>
  394.          <comments>
  395.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="WebCntxt" class="TAbstractWebContext">EndUser</property> to obtain information about the caller that sent the current request. You can use the IWeb<property namespace="WebCntxt" class="TAbstractWebContext">EndUser</property> interface to determine whether the end user has logged in, whether the user has access rights to perform specified operations on pages that have a specified access string, the display name for the end user, and so on.</para>
  396.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  397.                      
  398.                <property namespace="WebCntxt" class="TAbstractWebContext">EndUser</property> is nil (Delphi) or NULL (C++) if the WebSnap application does not include an end user adapter such as T<property namespace="WebCntxt" class="TAbstractWebContext">EndUser</property>Adapter or T<property namespace="WebCntxt" class="TAbstractWebContext">EndUser</property>SessionAdapter.</para>
  399.          </comments>
  400.       </member>
  401.       <member name="P:WebCntxt.WebCntxt.DispatchedPageName">
  402.          <summary>
  403.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the name of the Web page module that is producing content to respond to the current request.</para>
  404.          </summary>
  405.          <comments>
  406.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="WebCntxt" class="TAbstractWebContext">DispatchedPageName</property> to determine the Web page module that is handling the current HTTP request message. Although this is typically the same as the page that the RequestedPageName property specifies, it can differ if the request was redirected to another Web page or if its use was delayed because the caller had not yet logged in. </para>
  407.          </comments>
  408.       </member>
  409.       <member name="P:WebCntxt.WebCntxt.RequestedPageName">
  410.          <summary>
  411.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the name of the Web page module to which the current request is addressed.</para>
  412.          </summary>
  413.          <comments>
  414.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When the page dispatcher receives an HTTP request message, it sets <property namespace="WebCntxt" class="TAbstractWebContext">RequestedPageName</property> to the name of the target Web page module. This is taken from the pathinfo portion of the request message's target URL.</para>
  415.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  416.                      
  417.                <para>There is no guarantee that <property namespace="WebCntxt" class="TAbstractWebContext">RequestedPageName</property> refers to a registered Web page module, because this property is set before the dispatcher verifies that the requested page exists.</para>
  418.                   
  419.             </note>
  420.          </comments>
  421.       </member>
  422.       <member name="T:WebCntxt.TWebContext">
  423.          <summary>
  424.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  425.                
  426.                <class namespace="WebCntxt">TWebContext</class> represents the current state of a WebSnap application.</para>
  427.          </summary>
  428.          <comments>
  429.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">A Web context stores information about the components that are available in a WebSnap application and about the current request that is being processed. Applications do not create instances of the Web context. Rather, they access the current Web context object by calling the global WebContext function.</para>
  430.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  431.                
  432.                <class namespace="WebCntxt">TWebContext</class> provides the implementation of the abstract or (in C++ terminology) pure virtual methods introduced by its immediate ancestor, TAbstractWebContext.</para>
  433.          </comments>
  434.       </member>
  435.       <member name="M:WebCntxt.WebCntxt.FindApplicationModule">
  436.          <summary>
  437.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the application module instance.</para>
  438.          </summary>
  439.          <comments>
  440.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TWebContext">FindApplicationModule</method> to access the main Web module in the WebSnap application. <method namespace="WebCntxt" class="TWebContext">FindApplicationModule</method> returns a reference to the module that the WebSnap application wizard creates. This can be an instance of TWebAppPageModule or TWebAppDataModule.</para>
  441.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The Application module is the module that holds the application-wide components such as the page dispatcher, end user adapter, application adapter, and so on.</para>
  442.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">WebModuleContext is a context object that holds design-time information about the application modules. It is only used at design time. </para>
  443.          </comments>
  444.       </member>
  445.       <member name="M:WebCntxt.WebCntxt.FindModuleClass">
  446.          <summary>
  447.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns an instance of a Web module, given its class reference.</para>
  448.          </summary>
  449.          <comments>
  450.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TWebContext">FindModuleClass</method> to obtain a reference to a Web module given its class reference. If an instance of the specified class already exists, <method namespace="WebCntxt" class="TWebContext">FindModuleClass</method> returns that instance. Otherwise, if the specified class represents a registered Web module class, <method namespace="WebCntxt" class="TWebContext">FindModuleClass</method> creates an instance of the specified class and returns the new instance.</para>
  451.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AClass is the class reference to a registered Web module class. This class is declared in code that the Web page module wizard or Web data module wizard generates.</para>
  452.          </comments>
  453.       </member>
  454.       <member name="M:WebCntxt.WebCntxt.FindModuleName">
  455.          <summary>
  456.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns an instance of a Web module, given its class name.</para>
  457.          </summary>
  458.          <comments>
  459.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TWebContext">FindModuleName</method> to obtain a reference to a Web module given the name of its implementation class. If an instance of the specified class already exists, <method namespace="WebCntxt" class="TWebContext">FindModuleName</method> returns that instance. Otherwise, if the specified class represents a registered Web module class, FindModuleClass creates an instance of the specified class and returns the new instance.</para>
  460.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AClass is the name of a registered Web module class. This class is declared in code that the Web page module wizard or Web data module wizard generates.</para>
  461.          </comments>
  462.       </member>
  463.       <member name="M:WebCntxt.WebCntxt.FindPage">
  464.          <summary>
  465.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Retrieves a Web page module given its name.</para>
  466.          </summary>
  467.          <comments>
  468.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TWebContext">FindPage</method> to obtain an instance of a registered Web page module given its name. If an instance of the specified Web page module already exists, <method namespace="WebCntxt" class="TWebContext">FindPage</method> returns that instance. Otherwise, if the named Web page module is registered, <method namespace="WebCntxt" class="TWebContext">FindPage</method> creates an instance of the module and returns the new instance.</para>
  469.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">APage is the name of the desired Web page module. The name is specified using the Web page module wizard, and forms the basis of the Web page module's class name. Thus, a Web page module with a name MyPage has the class name TMyPage.</para>
  470.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AOptions is a set of options that can limit the page modules that <method namespace="WebCntxt" class="TWebContext">FindPage</method> considers. For any option included in this set, <method namespace="WebCntxt" class="TWebContext">FindPage</method> only considers Web page modules that have the corresponding attribute.</para>
  471.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AComponent returns the instance of the specified Web page module.</para>
  472.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  473.                      
  474.                <method namespace="WebCntxt" class="TWebContext">FindPage</method> returns true if it can find or create an instance of the specified Web page module, false otherwise.</para>
  475.          </comments>
  476.       </member>
  477.       <member name="M:WebCntxt.WebCntxt.FindPageInfo">
  478.          <summary>
  479.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Retrieves a Web page information object given the name of the corresponding Web page module.</para>
  480.          </summary>
  481.          <comments>
  482.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TWebContext">FindPageInfo</method> to obtain the Web page information object for a Web page module. <method namespace="WebCntxt" class="TWebContext">FindPageInfo</method> retrieves the information object that is registered for the Web page module that has a specified name. The Web page information object describes the characteristics of the Web page, including its name, title, HREF, view access string, an indication of whether users must log in to access the page, and so on.</para>
  483.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">APage is the name of the desired Web page module. The name is specified using the Web page module wizard, and forms the basis of the Web page module's class name. Thus, a Web page module with a name MyPage has the class name TMyPage.</para>
  484.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AOptions is a set of options that can limit the page modules that <method namespace="WebCntxt" class="TWebContext">FindPageInfo</method> considers. For any option included in this set, <method namespace="WebCntxt" class="TWebContext">FindPageInfo</method> only considers Web page modules that have the corresponding attribute.</para>
  485.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">APageInfo returns the Web page information object that describes the characteristics of the specified Web page module, and that provides access to the factory object that you can use to create instances of the Web page module.</para>
  486.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  487.                      
  488.                <method namespace="WebCntxt" class="TWebContext">FindPageInfo</method> returns false if it can't return a value for the APageInfo parameter. <method namespace="WebCntxt" class="TWebContext">FindPageInfo</method> returns true if it locates a registered Web page module with the specified name and attributes. </para>
  489.          </comments>
  490.       </member>
  491.       <member name="M:WebCntxt.WebCntxt.FindDefaultPageInfo">
  492.          <summary>
  493.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Retrieves the Web page information object for a specified class of Web module.</para>
  494.          </summary>
  495.          <comments>
  496.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TWebContext">FindDefaultPageInfo</method> to obtain the Web page information object for a Web module. <method namespace="WebCntxt" class="TWebContext">FindDefaultPageInfo</method> retrieves the information object that is registered for the Web page module class specified by AComponentClass. The Web page information object describes the characteristics of the Web page, including its name, title, HREF, view access string, an indication of whether users must log in to access the page, and so on.</para>
  497.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AComponentClass is a class reference to the class that implements the Web page module. This class is declared in code that the Web page module wizard generates.</para>
  498.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">APageInfo returns the Web page information object that describes the characteristics of the specified Web page module, and that provides access to the factory object that you can use to create instances of the Web page module.</para>
  499.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  500.                      
  501.                <method namespace="WebCntxt" class="TWebContext">FindDefaultPageInfo</method> returns false if it can't return a value for the APageInfo parameter. <method namespace="WebCntxt" class="TWebContext">FindDefaultPageInfo</method> returns true if it locates a registered Web page module for the class specified by AComponentClass. </para>
  502.          </comments>
  503.       </member>
  504.       <member name="M:WebCntxt.WebCntxt.FindVariableContainer">
  505.          <summary>
  506.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns an instance of a Web data module, given its class name.</para>
  507.          </summary>
  508.          <comments>
  509.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="WebCntxt" class="TWebContext">FindVariableContainer</method> to obtain a reference to a Web data module given the name of its implementation class. If an instance of the specified class already exists, <method namespace="WebCntxt" class="TWebContext">FindVariableContainer</method> returns that instance. Otherwise, if the specified class represents a registered Web module class, <method namespace="WebCntxt" class="TWebContext">FindVariableContainer</method> creates an instance of the specified class and returns the new instance.</para>
  510.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AIdent is the name of a registered Web data module class. This class is declared in code that the Web data module wizard generates.</para>
  511.          </comments>
  512.       </member>
  513.       <member name="M:WebCntxt.WebCntxt.Create">
  514.          <summary>
  515.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  516.                      
  517.                <method namespace="WebCntxt" class="TWebContext">Create</method>s an initializes an instance of <method namespace="WebCntxt" class="TWebContext">TWebContext</method>.</para>
  518.          </summary>
  519.          <comments>
  520.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not create instances of <method namespace="WebCntxt" class="TWebContext">TWebContext</method>. WebSnap applications create a global Web context automatically to represent the current state of the application. To access this global Web context object, use the global WebContext function.</para>
  521.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <method namespace="WebCntxt" class="TWebContext">TWebContext</method> constructor registers itself with the global WebContext function so that the application can access the Web context using that function, and initializes the properties of the Web context to the values passed in as parameters.</para>
  522.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AWebModuleList is the component that manages the Web modules in the application. It becomes the value of the WebModules property.</para>
  523.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ARequest is the current HTTP request message. It becomes the value of the Request property.</para>
  524.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AResponse is the current response object that the application is filling out. It becomes the value of the Response property.</para>
  525.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ASession is the Session object associated with ARequest. It becomes the value of the Session property.</para>
  526.          </comments>
  527.       </member>
  528.       <member name="M:WebCntxt.WebCntxt.Destroy">
  529.          <summary>
  530.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Frees an instance of <method namespace="WebCntxt" class="TWebContext">TWebContext</method>.</para>
  531.          </summary>
  532.          <comments>
  533.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not free the global Web context object. This object is automatically maintained by the WebSnap application.</para>
  534.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <method namespace="WebCntxt" class="TWebContext">TWebContext</method> destructor unregisters itself with the global WebContext function so that the WebContext function never returns a Web context that no longer exists.</para>
  535.          </comments>
  536.       </member>
  537.       <member name="T:WebCntxt.TAbstractAdapterRequest">
  538.          <summary>
  539.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  540.                
  541.                <class namespace="WebCntxt">TAbstractAdapterRequest</class> is the base class for adapter request objects.</para>
  542.          </summary>
  543.          <comments>
  544.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  545.                
  546.                <class namespace="WebCntxt">TAbstractAdapterRequest</class> is the base class for the object that adapters use to obtain information about the current HTTP request message. An application interacts with an adapter request object through interfaces implemented by various descendants of <class namespace="WebCntxt">TAbstractAdapterRequest</class>. These descendant classes are considered internal to WebSnap and are not documented.</para>
  547.          </comments>
  548.       </member>
  549.       <member name="T:WebCntxt.TAbstractAdapterResponse">
  550.          <summary>
  551.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  552.                
  553.                <class namespace="WebCntxt">TAbstractAdapterResponse</class> is the base class for adapter response objects.</para>
  554.          </summary>
  555.          <comments>
  556.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  557.                
  558.                <class namespace="WebCntxt">TAbstractAdapterResponse</class> is the base class for the object that adapters use to obtain information about the current HTTP response message. An application interacts with an adapter response object through interfaces implemented by various descendants of <class namespace="WebCntxt">TAbstractAdapterResponse</class>. These descendant classes are considered internal to WebSnap and are not documented.</para>
  559.          </comments>
  560.       </member>
  561.       <member name="M:WebCntxt.WebContext">
  562.          <summary>
  563.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the current Web context</para>
  564.          </summary>
  565.          <comments>
  566.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <routine namespace="WebCntxt">WebContext</routine> function to obtain a reference to the global Web context. This object stores information about the components that are available in the Web application as well as about the current request that is being processed. </para>
  567.          </comments>
  568.       </member>
  569.       <member name="T:Sockets.ESocketError">
  570.          <summary>
  571.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  572.                
  573.                <class namespace="Sockets">ESocketError</class> is the exception class for failures in initializing or shutting down the socket support layer for the Sockets unit.</para>
  574.          </summary>
  575.          <comments>
  576.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  577.                
  578.                <class namespace="Sockets">ESocketError</class> is <condition language="Delphi">raised</condition>
  579.                
  580.                <condition language="CBuilder">thrown</condition> if the Sockets unit can't properly initialize or shut down. This unit is required for applications that use TTcpClient, TTcpServer, TUdpSocket, TRawSocket, or other TIpSocket descendants.</para>
  581.          </comments>
  582.       </member>
  583.       <member name="T:Sockets.TBaseSocket">
  584.          <summary>
  585.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  586.                
  587.                <class namespace="Sockets">TBaseSocket</class> encapsulates local operations on file descriptors<condition language="CBuilder">.</condition>
  588.             
  589.             </para>
  590.          </summary>
  591.          <comments>
  592.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <class namespace="Sockets">TBaseSocket</class> component encapsulates local operations on files descriptors, which are objects that a program uses to read from or write to an open file, or open a network socket or a variety of other devices.</para>
  593.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not create instances of <class namespace="Sockets">TBaseSocket</class>. Use <class namespace="Sockets">TBaseSocket</class> as a base class when declaring non-visual components that can appear on the component palette and be used in the form designer. Properties and methods of <class namespace="Sockets">TBaseSocket</class> provide basic behavior that descendant classes inherit as well as behavior that components can override to customize their behavior.</para>
  594.          </comments>
  595.       </member>
  596.       <member name="M:Sockets.Sockets.MapDomain">
  597.          <summary>
  598.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Maps the domain.</para>
  599.          </summary>
  600.          <comments>
  601.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  602.                      
  603.                <method namespace="Sockets" class="TBaseSocket">MapDomain</method> maps the socket domain to an integer based on the value supplied by the Domain property.</para>
  604.          </comments>
  605.       </member>
  606.       <member name="M:Sockets.Sockets.MapSockType">
  607.          <summary>
  608.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Maps the socket type.</para>
  609.          </summary>
  610.          <comments>
  611.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  612.                      
  613.                <method namespace="Sockets" class="TBaseSocket">MapSockType</method> maps the socket type to an integer based on the value supplied by the SockType property.</para>
  614.          </comments>
  615.       </member>
  616.       <member name="M:Sockets.Sockets.PeekBuf">
  617.          <summary>
  618.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reads the buffer.</para>
  619.          </summary>
  620.          <comments>
  621.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TBaseSocket">PeekBuf</method> to make a copy of data waiting in the socket buffer. Use buf to assign a variable to the buffer, and use bufsize to set the size of the buffer to be copied. <method namespace="Sockets" class="TBaseSocket">PeekBuf</method> only copies, but does not otherwise affect the contents of the buffer.</para>
  622.          </comments>
  623.       </member>
  624.       <member name="M:Sockets.Sockets.ReceiveBuf">
  625.          <summary>
  626.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reads data buffers of size bufsize to the socket.</para>
  627.          </summary>
  628.          <comments>
  629.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  630.                      
  631.                <method namespace="Sockets" class="TBaseSocket">ReceiveBuf</method> reads
  632.         data buffers of size bufsize to the socket. Use buf to assign a variable to the
  633.         buffer, and use bufsize to set the size of the buffer to be read.
  634.         <condition os="Linux">The flags argument can be any of the flags used by the
  635.         Linux recv function. Refer to recv(2) in the Linux manual pages for more
  636.         information.</condition>
  637.                   
  638.             </para>
  639.          </comments>
  640.       </member>
  641.       <member name="M:Sockets.Sockets.Receiveln">
  642.          <summary>
  643.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reads delimited lines of data from the socket.</para>
  644.          </summary>
  645.          <comments>
  646.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  647.                      
  648.                <method namespace="Sockets" class="TBaseSocket">Receiveln</method> reads a delimited chunk of data from the socket.  The delimeter cannot be part of the character set.  <method namespace="Sockets" class="TBaseSocket">Receiveln</method> fills the buffer until it reaches the delimeter.</para>
  649.          </comments>
  650.       </member>
  651.       <member name="M:Sockets.Sockets.Select">
  652.          <summary>
  653.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Tests for socket activity.</para>
  654.          </summary>
  655.          <comments>
  656.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TBaseSocket">Select</method> to test for socket activity. <method namespace="Sockets" class="TBaseSocket">Select</method> indicates whether there is any data on the socket waiting to be sent or whether an error condition exists.</para>
  657.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The parameter TimeOut is the time-out value. The socket will wait for activity up to TimeOut milliseconds before returning. If t is not explicitly specified, the default value is zero. If t is any negative number the socket will be blocked. It will wait for activity indefinitely, which can be useful for servers.</para>
  658.          </comments>
  659.       </member>
  660.       <member name="M:Sockets.Sockets.SendBuf">
  661.          <summary>
  662.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Writes data buffers of size bufsize from the socket.</para>
  663.          </summary>
  664.          <comments>
  665.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  666.                      
  667.                <method namespace="Sockets" class="TBaseSocket">SendBuf</method> sends
  668.         data buffers of size bufsize to the socket. Use buf to assign a variable to the
  669.         buffer, and use bufsize to set the size of the buffer to be sent.
  670.         <condition os="Linux">The flags argument can be any of the flags used by the
  671.         Linux send function. Refer to the send Linux manual page for more
  672.         information.</condition>
  673.                   
  674.             </para>
  675.          </comments>
  676.       </member>
  677.       <member name="M:Sockets.Sockets.Sendln">
  678.          <summary>
  679.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Writes delimited lines of data to the socket.</para>
  680.          </summary>
  681.          <comments>
  682.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  683.                      
  684.                <method namespace="Sockets" class="TBaseSocket">Sendln</method> sends a delimited chunk of data to the socket.  The delimeter cannot be part of the character set.  <method namespace="Sockets" class="TBaseSocket">Sendln</method> fills the buffer until it reaches the delimeter.</para>
  685.          </comments>
  686.       </member>
  687.       <member name="M:Sockets.Sockets.SendStream">
  688.          <summary>
  689.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Writes a stream of data to the socket.</para>
  690.          </summary>
  691.          <comments>
  692.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  693.                      
  694.                <method namespace="Sockets" class="TBaseSocket">SendStream</method> sends a stream of data to the socket.</para>
  695.          </comments>
  696.       </member>
  697.       <member name="M:Sockets.Sockets.WaitForData">
  698.          <summary>
  699.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Waits up to TimeOut milliseconds for the socket connection to be ready to transfer data.</para>
  700.          </summary>
  701.          <comments>
  702.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TBaseSocket">WaitForData</method> to ensure that the socket connection is ready to read or write information. <method namespace="Sockets" class="TBaseSocket">WaitForData</method> returns true if the socket connection is ready. <method namespace="Sockets" class="TBaseSocket">WaitForData</method> returns false if the socket connection is not ready after t (time-out) milliseconds elapse.</para>
  703.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TBaseSocket">WaitForData</method> before reading or writing information over the socket connection. Otherwise, ReceiveBuf, Receiveln, SendBuf, and Sendln method calls may time out before any data is transferred.</para>
  704.          </comments>
  705.       </member>
  706.       <member name="M:Sockets.Sockets.Create">
  707.          <summary>
  708.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  709.                      
  710.                <method namespace="Sockets" class="TBaseSocket">Create</method>s an instance of <method namespace="Sockets" class="TBaseSocket">TBaseSocket</method>.</para>
  711.          </summary>
  712.          <comments>
  713.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TBaseSocket">Create</method> to instantiate a <method namespace="Sockets" class="TBaseSocket">TBaseSocket</method> object. </para>
  714.          </comments>
  715.       </member>
  716.       <member name="M:Sockets.Sockets.Open">
  717.          <summary>
  718.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates the socket connection.</para>
  719.          </summary>
  720.          <comments>
  721.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TBaseSocket">Open</method> to create the socket connection. Descendants of <method namespace="Sockets" class="TBaseSocket">TBaseSocket</method> use <method namespace="Sockets" class="TBaseSocket">Open</method> to initiate the socket connection.</para>
  722.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For client sockets, <method namespace="Sockets" class="TBaseSocket">Open</method> locates and connects to a server. For server sockets, <method namespace="Sockets" class="TBaseSocket">Open</method> opens the socket connection in a listening mode, but does not complete the connection to a client socket.</para>
  723.          </comments>
  724.       </member>
  725.       <member name="M:Sockets.Sockets.Close">
  726.          <summary>
  727.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Shuts down the socket connection.</para>
  728.          </summary>
  729.          <comments>
  730.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TBaseSocket">Close</method> to shut down the socket connection. <method namespace="Sockets" class="TBaseSocket">Close</method> sets the Active property to false.</para>
  731.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For client sockets, <method namespace="Sockets" class="TBaseSocket">Close</method> terminates the connection to the server. For server sockets, <method namespace="Sockets" class="TBaseSocket">Close</method> shuts down the connection so that the server socket is no longer listening for client requests.</para>
  732.          </comments>
  733.       </member>
  734.       <member name="M:Sockets.Sockets.Destroy">
  735.          <summary>
  736.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  737.                      
  738.                <method namespace="Sockets" class="TBaseSocket">Destroy</method>s the <method namespace="Sockets" class="TBaseSocket">TBaseSocket</method> instance and frees its memory.</para>
  739.          </summary>
  740.          <comments>
  741.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  742.                      
  743.                <method namespace="Sockets" class="TBaseSocket">Destroy</method> cleans up references in the global fix-up list for form linking. It then calls the inherited destructor.</para>
  744.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not call <method namespace="Sockets" class="TBaseSocket">Destroy</method> directly. Call Free instead. Free checks that the object reference is not nil before calling <method namespace="Sockets" class="TBaseSocket">Destroy</method>.</para>
  745.          </comments>
  746.       </member>
  747.       <member name="P:Sockets.Sockets.Active">
  748.          <summary>
  749.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the socket connection is open and available for communication with other machines. </para>
  750.          </summary>
  751.          <comments>
  752.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Before attempting to use or change the socket connection, read <property namespace="Sockets" class="TBaseSocket">Active</property> to determine whether the connection is open and ready. For client sockets, setting <property namespace="Sockets" class="TBaseSocket">Active</property> opens or shuts down a socket connection to another machine. For server sockets, setting <property namespace="Sockets" class="TBaseSocket">Active</property> opens or shuts down a listening connection that makes the socket available for client requests.</para>
  753.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">At design time, set <property namespace="Sockets" class="TBaseSocket">Active</property> to true to make the socket open a connection when the application starts running (the default value is false). At runtime, use the Open or Close method to open or close the connection.</para>
  754.          </comments>
  755.       </member>
  756.       <member name="P:Sockets.Sockets.BlockMode">
  757.          <summary>
  758.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets or returns the blocking mode of the socket. </para>
  759.          </summary>
  760.          <comments>
  761.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="Sockets" class="TBaseSocket">BlockMode</property> to set or return the blocking mode for the socket.  By default, the socket is set to bmBlocking.</para>
  762.          </comments>
  763.       </member>
  764.       <member name="P:Sockets.Sockets.BytesReceived">
  765.          <summary>
  766.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the number of bytes received by the socket. </para>
  767.          </summary>
  768.          <comments>
  769.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  770.                      
  771.                <property namespace="Sockets" class="TBaseSocket">BytesReceived</property> returns the number of bytes received by the socket.</para>
  772.          </comments>
  773.       </member>
  774.       <member name="P:Sockets.Sockets.BytesSent">
  775.          <summary>
  776.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the number of bytes sent from the socket. </para>
  777.          </summary>
  778.          <comments>
  779.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  780.                      
  781.                <property namespace="Sockets" class="TBaseSocket">BytesSent</property> returns the number of bytes sent from the socket.</para>
  782.          </comments>
  783.       </member>
  784.       <member name="P:Sockets.Sockets.Domain">
  785.          <summary>
  786.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets or returns the protocol family used by the socket.</para>
  787.          </summary>
  788.          <comments>
  789.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="Sockets" class="TBaseSocket">Domain</property> to set or return the protocol family used by the socket.</para>
  790.          </comments>
  791.       </member>
  792.       <member name="P:Sockets.Sockets.Handle">
  793.          <summary>
  794.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the unique-4 byte identifier that represents the
  795.         instance of the socket object.</para>
  796.          </summary>
  797.          <comments>
  798.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use 
  799.         <property namespace="Sockets" class="TBaseSocket">Handle</property> to
  800.         return a typed pointer to the instance of the socket class.
  801.         <condition os="Linux">This 
  802.         <property namespace="Sockets" class="TBaseSocket">Handle</property> can
  803.         be used when making low level function calls into the QT shared libraries,
  804.         where the function call requires an instance pointer to the
  805.         object.</condition>
  806.                   
  807.             </para>
  808.          </comments>
  809.       </member>
  810.       <member name="P:Sockets.Sockets.Protocol">
  811.          <summary>
  812.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets or returns the protocol used by the socket. </para>
  813.          </summary>
  814.          <comments>
  815.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  816.                      
  817.                <property namespace="Sockets" class="TBaseSocket">Protocol</property> sets or returns the protocol used by the socket.  The socket protocol can be IP, TCP, UDP, or other network protocols.</para>
  818.          </comments>
  819.       </member>
  820.       <member name="P:Sockets.Sockets.SockType">
  821.          <summary>
  822.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets or returns the socket type. </para>
  823.          </summary>
  824.          <comments>
  825.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  826.                      
  827.                <property namespace="Sockets" class="TBaseSocket">SockType</property> determines how the socket delivers its packets of information.</para>
  828.          </comments>
  829.       </member>
  830.       <member name="E:Sockets.Sockets.OnCreateHandle">
  831.          <summary>
  832.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs when the handle to a socket becomes active.</para>
  833.          </summary>
  834.          <comments>
  835.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="Sockets" class="TBaseSocket">OnCreateHandle</event> event handler to take specific action when the handle to a socket becomes active.</para>
  836.          </comments>
  837.       </member>
  838.       <member name="E:Sockets.Sockets.OnDestroyHandle">
  839.          <summary>
  840.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs when a socket is deactivated.</para>
  841.          </summary>
  842.          <comments>
  843.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="Sockets" class="TBaseSocket">OnDestroyHandle</event> event handler to take specific action when the socket is deactivated.</para>
  844.          </comments>
  845.       </member>
  846.       <member name="E:Sockets.Sockets.OnError">
  847.          <summary>
  848.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs when the socket fails in making, using, or shutting down a connection.</para>
  849.          </summary>
  850.          <comments>
  851.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="Sockets" class="TBaseSocket">OnError</event> event handler to respond to errors that arise with the socket connection. Set the ErrorCode parameter to 0 if the <event namespace="Sockets" class="TBaseSocket">OnError</event> event handler successfully deals with the error condition, to prevent an ESocketError from being raised.</para>
  852.          </comments>
  853.       </member>
  854.       <member name="E:Sockets.Sockets.OnReceive">
  855.          <summary>
  856.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs after a socket receives data, but before it passes the data to the application.</para>
  857.          </summary>
  858.          <comments>
  859.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="Sockets" class="TBaseSocket">OnReceive</event> event handler to read from the socket connection. Use the <event namespace="Sockets" class="TBaseSocket">OnReceive</event> event to filter data before passing it back to the client application.</para>
  860.          </comments>
  861.       </member>
  862.       <member name="E:Sockets.Sockets.OnSend">
  863.          <summary>
  864.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs just before a client socket writes information to the socket connection.</para>
  865.          </summary>
  866.          <comments>
  867.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="Sockets" class="TBaseSocket">OnSend</event> event handler to perform actions just prior to sending data. Use <event namespace="Sockets" class="TBaseSocket">OnSend</event> to monitor the data stream and change it (for example, by removing linefeeds).</para>
  868.          </comments>
  869.       </member>
  870.       <member name="T:Sockets.TIpSocket">
  871.          <summary>
  872.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  873.                
  874.                <class namespace="Sockets">TIpSocket</class> encapsulates the network support functions<condition language="CBuilder">.</condition>
  875.             
  876.             </para>
  877.          </summary>
  878.          <comments>
  879.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  880.                
  881.                <class namespace="Sockets">TIpSocket</class> encapsulates the network support functions, linking sockets to network protocols such as TCP/IP and UDP, as well as raw sockets and custom protocols.</para>
  882.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not create instances of <class namespace="Sockets">TIpSocket</class>. Use <class namespace="Sockets">TIpSocket</class> as a base class when declaring non-visual components that can appear on the component palette and be used in the form designer. Properties and methods of <class namespace="Sockets">TIpSocket</class> provide basic behavior that descendant classes inherit as well as behavior that components can override to customize their behavior.</para>
  883.          </comments>
  884.       </member>
  885.       <member name="M:Sockets.Sockets.GetSocketAddr">
  886.          <summary>
  887.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Builds a valid network socket address.</para>
  888.          </summary>
  889.          <comments>
  890.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TIpSocket">GetSocketAddr</method> to build a valid socket address based on the host name and port number. The TSocketHost and TSocketPort arguments are used to return a TSockAddr structure, which can then be passed to Connect or Bind.</para>
  891.          </comments>
  892.       </member>
  893.       <member name="M:Sockets.Sockets.LookupHostName">
  894.          <summary>
  895.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Looks up the host name based on the IP address.</para>
  896.          </summary>
  897.          <comments>
  898.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TIpSocket">LookupHostName</method> to look up the host name based on the machine's IP address.</para>
  899.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For example:</para>
  900.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TcpClient1.LookupHostName("123.60.192.10");</codeBlock>
  901.          </comments>
  902.       </member>
  903.       <member name="M:Sockets.Sockets.LookupHostAddr">
  904.          <summary>
  905.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Looks up the host address based on the host name.</para>
  906.          </summary>
  907.          <comments>
  908.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TIpSocket">LookupHostAddr</method> to look up the host address based on the machine's host name.</para>
  909.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For example:</para>
  910.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">StrToInt(TcpClient1.LookupHostAddr("borland.com"));</codeBlock>
  911.          </comments>
  912.       </member>
  913.       <member name="M:Sockets.Sockets.LookupPort">
  914.          <summary>
  915.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the port number.</para>
  916.          </summary>
  917.          <comments>
  918.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TIpSocket">LookupPort</method> to return the port number of the IP socket. The port number is related to the service name and protocol number.</para>
  919.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For more information, refer to the home page of the Internet Assigned Numbers Authority (www.iana.org), which maintains lists of port numbers and their associated protocols. Also, refer to the documentation for the application's target operating system for information on how port numbers are stored and changed in that OS.</para>
  920.          </comments>
  921.       </member>
  922.       <member name="M:Sockets.Sockets.LookupProtocol">
  923.          <summary>
  924.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the protocol number.</para>
  925.          </summary>
  926.          <comments>
  927.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TIpSocket">LookupProtocol</method> to return the protocol number being used by the IP socket. The protocol number is based on the protocol name.</para>
  928.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For more information, refer to the home page of the Internet Assigned Numbers Authority (www.iana.org), which maintains lists of protocol numbers and their associated protocols.</para>
  929.          </comments>
  930.       </member>
  931.       <member name="M:Sockets.Sockets.LocalDomainName">
  932.          <summary>
  933.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the domain name for the local host.</para>
  934.          </summary>
  935.          <comments>
  936.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use LocalDomain name to return the domain name for the local host.</para>
  937.          </comments>
  938.       </member>
  939.       <member name="M:Sockets.Sockets.LocalHostName">
  940.          <summary>
  941.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the local host name.</para>
  942.          </summary>
  943.          <comments>
  944.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TIpSocket">LocalHostName</method> to return the host name for the local host.</para>
  945.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For example:</para>
  946.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ShowMessage(TcpClient1.LocalHostName);</codeBlock>
  947.          </comments>
  948.       </member>
  949.       <member name="M:Sockets.Sockets.LocalHostAddr">
  950.          <summary>
  951.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the local IP address for the host machine.</para>
  952.          </summary>
  953.          <comments>
  954.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TIpSocket">LocalHostAddr</method> to return the local IP address in string format.</para>
  955.          </comments>
  956.       </member>
  957.       <member name="M:Sockets.Sockets.ReceiveFrom">
  958.          <summary>
  959.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Receives a packet of information.</para>
  960.          </summary>
  961.          <comments>
  962.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TIpSocket">ReceiveFrom</method> to receive a single packet of information. Note that information in the packet is not checked for length, completeness, and such, which occurs at a higher level.</para>
  963.          </comments>
  964.       </member>
  965.       <member name="M:Sockets.Sockets.SendTo">
  966.          <summary>
  967.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sends a packet of information.</para>
  968.          </summary>
  969.          <comments>
  970.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TIpSocket">SendTo</method> to send a single packet of information over the network.  Note that information in the packet is not checked for length, completeness, and such, which occurs at a higher level.</para>
  971.          </comments>
  972.       </member>
  973.       <member name="M:Sockets.Sockets.Create">
  974.          <summary>
  975.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  976.                      
  977.                <method namespace="Sockets" class="TIpSocket">Create</method>s an instance of <method namespace="Sockets" class="TIpSocket">TIpSocket</method>.</para>
  978.          </summary>
  979.          <comments>
  980.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TIpSocket">Create</method> to instantiate a <method namespace="Sockets" class="TIpSocket">TIpSocket</method> object. </para>
  981.          </comments>
  982.       </member>
  983.       <member name="P:Sockets.Sockets.LocalHost">
  984.          <summary>
  985.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the name of the local system.</para>
  986.          </summary>
  987.          <comments>
  988.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="Sockets" class="TIpSocket">LocalHost</property> to get the name of the system that is running the application that uses the socket. <property namespace="Sockets" class="TIpSocket">LocalHost</property> is a string containing the domain name and service of the local socket endpoint, such as </para>
  989.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">http://www.wSite.Com</codeBlock>
  990.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Port numbers allow a single system, identified by the <property namespace="Sockets" class="TIpSocket">LocalHost</property>Addr property, to host multiple connections simultaneously. Each combination of LocalPort and <property namespace="Sockets" class="TIpSocket">LocalHost</property>Addr can only be bound to a single socket connection.</para>
  991.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  992.                      
  993.                <property namespace="Sockets" class="TIpSocket">LocalHost</property> provides an alias for the local IP address given in the <property namespace="Sockets" class="TIpSocket">LocalHost</property>Addr property. Most Intranets provide host names for the IP addresses of systems on the net. For more information on defining a host name for a given system, contact your network administrator.</para>
  994.          </comments>
  995.       </member>
  996.       <member name="P:Sockets.Sockets.LocalPort">
  997.          <summary>
  998.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the ID number of the port used by the socket connection. </para>
  999.          </summary>
  1000.          <comments>
  1001.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="Sockets" class="TIpSocket">LocalPort</property> to determine the port number that is bound to the socket connection. For server endpoints of listening connections, <property namespace="Sockets" class="TIpSocket">LocalPort</property> is the ID associated with the service the server socket provides. For client or server endpoints of connections to another socket, <property namespace="Sockets" class="TIpSocket">LocalPort</property> is usually an arbitrary value picked when the connection was made.</para>
  1002.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Many values of <property namespace="Sockets" class="TIpSocket">LocalPort</property> are associated by convention with a particular service such as FTP or HTTP. </para>
  1003.          </comments>
  1004.       </member>
  1005.       <member name="P:Sockets.Sockets.RemoteHost">
  1006.          <summary>
  1007.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the name of the remote system. </para>
  1008.          </summary>
  1009.          <comments>
  1010.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="Sockets" class="TIpSocket">RemoteHost</property> to get the name of the system on the other end of the socket connection. <property namespace="Sockets" class="TIpSocket">RemoteHost</property> is a string containing the domain name and service of the remote endpoint of the socket connection, such as </para>
  1011.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">http://www.wSite.Com</codeBlock>
  1012.          </comments>
  1013.       </member>
  1014.       <member name="P:Sockets.Sockets.RemotePort">
  1015.          <summary>
  1016.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the ID number of the port used by the RemoteHost to form the socket connection. </para>
  1017.          </summary>
  1018.          <comments>
  1019.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="Sockets" class="TIpSocket">RemotePort</property> to determine the port number used by the socket on the other end of the socket connection.</para>
  1020.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Port numbers allow a single system, identified by the RemoteHost property, to host multiple connections simultaneously. Each combination of <property namespace="Sockets" class="TIpSocket">RemotePort</property> and RemoteHost can only be bound to a single socket connection.</para>
  1021.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Many port numbers are associated by convention with a particular service such as ftp or http. To determine whether the value of <property namespace="Sockets" class="TIpSocket">RemotePort</property> is associated with a specific service, use the LookupProtocol method.</para>
  1022.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1023.                      
  1024.                <para>If a client socket requests a specific port to indicate a desired service, the value of <property namespace="Sockets" class="TIpSocket">RemotePort</property> for the actual connection may differ from the requested port number. Most server sockets listen on the port associated with a service, but switch to an arbitrary available port number for forming connections.</para>
  1025.                   
  1026.             </note>
  1027.          </comments>
  1028.       </member>
  1029.       <member name="T:Sockets.TCustomIpClient">
  1030.          <summary>
  1031.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1032.                
  1033.                <class namespace="Sockets">TCustomIpClient</class> encapsulates the client network functions<condition language="CBuilder">.</condition>
  1034.             
  1035.             </para>
  1036.          </summary>
  1037.          <comments>
  1038.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1039.                
  1040.                <class namespace="Sockets">TCustomIpClient</class> encapsulates the client network functions, linking sockets to network protocols such as TCP/IP and UDP, as well as raw sockets and custom protocols.</para>
  1041.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not create instances of <class namespace="Sockets">TCustomIpClient</class>. Use <class namespace="Sockets">TCustomIpClient</class> as a base class when declaring non-visual components that can appear on the component palette and be used in the form designer. Properties and methods of <class namespace="Sockets">TCustomIpClient</class> provide basic behavior that descendant classes inherit as well as behavior that components can override to customize their behavior.</para>
  1042.          </comments>
  1043.       </member>
  1044.       <member name="M:Sockets.Sockets.Connect">
  1045.          <summary>
  1046.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1047.                      
  1048.                <method namespace="Sockets" class="TCustomIpClient">Connect</method>s the local socket to the remote socket.</para>
  1049.          </summary>
  1050.          <comments>
  1051.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <method namespace="Sockets" class="TCustomIpClient">Connect</method> to true to connect the local socket to the remote socket.</para>
  1052.          </comments>
  1053.       </member>
  1054.       <member name="M:Sockets.Sockets.GetThreadObject">
  1055.          <summary>
  1056.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a reference to the TThread object for the currently executing
  1057.         thread.</para>
  1058.          </summary>
  1059.          <comments>
  1060.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call 
  1061.         <method namespace="Sockets" class="TCustomIpClient">GetThreadObject</method> to obtain a reference to the
  1062.         currently executing thread. 
  1063.         <method namespace="Sockets" class="TCustomIpClient">GetThreadObject</method> is only useful when BlockMode
  1064.         is set to bmBlockingMode, which means that the client is executing in its own
  1065.         thread. If this method is called from the main application thread, the value
  1066.         nil <condition language="CBuilder">(Delphi) or NULL (C++)</condition> is
  1067.         returned.</para>
  1068.          </comments>
  1069.       </member>
  1070.       <member name="M:Sockets.Sockets.Create">
  1071.          <summary>
  1072.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1073.                      
  1074.                <method namespace="Sockets" class="TCustomIpClient">Create</method>s an instance of <method namespace="Sockets" class="TCustomIpClient">TCustomIpClient</method>.</para>
  1075.          </summary>
  1076.          <comments>
  1077.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TCustomIpClient">Create</method> to instantiate a <method namespace="Sockets" class="TCustomIpClient">TCustomIpClient</method> object. </para>
  1078.          </comments>
  1079.       </member>
  1080.       <member name="M:Sockets.Sockets.Open">
  1081.          <summary>
  1082.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates the socket connection.</para>
  1083.          </summary>
  1084.          <comments>
  1085.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TCustomIpClient">Open</method> to create and initiate the socket connection.</para>
  1086.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For client sockets, <method namespace="Sockets" class="TCustomIpClient">Open</method> locates and connects to a server. For server sockets, <method namespace="Sockets" class="TCustomIpClient">Open</method> opens the socket connection in a listening mode, but does not complete the connection to a client socket.</para>
  1087.          </comments>
  1088.       </member>
  1089.       <member name="M:Sockets.Sockets.Close">
  1090.          <summary>
  1091.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Shuts down the socket connection.</para>
  1092.          </summary>
  1093.          <comments>
  1094.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TCustomIpClient">Close</method> to shut down the socket connection. This method performs the same functions as Disconnect.</para>
  1095.          </comments>
  1096.       </member>
  1097.       <member name="M:Sockets.Sockets.Disconnect">
  1098.          <summary>
  1099.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1100.                      
  1101.                <method namespace="Sockets" class="TCustomIpClient">Disconnect</method>s the local socket from the remote socket.</para>
  1102.          </summary>
  1103.          <comments>
  1104.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TCustomIpClient">Disconnect</method> to break the connection between the local and remote sockets. This method performs the same function as Close.</para>
  1105.          </comments>
  1106.       </member>
  1107.       <member name="P:Sockets.Sockets.Connected">
  1108.          <summary>
  1109.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the socket connection is open and available for communication with other machines.</para>
  1110.          </summary>
  1111.          <comments>
  1112.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="Sockets" class="TCustomIpClient">Connected</property> before trying to use or change the socket connection. <property namespace="Sockets" class="TCustomIpClient">Connected</property> indicates whether the socket connection has been established. When <property namespace="Sockets" class="TCustomIpClient">Connected</property> is true, the socket is open and available for use. When <property namespace="Sockets" class="TCustomIpClient">Connected</property> is false, the socket is closed and can be changed.</para>
  1113.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">To open a socket, use the Open method. To close a socket, use the Close method.</para>
  1114.          </comments>
  1115.       </member>
  1116.       <member name="E:Sockets.Sockets.OnConnect">
  1117.          <summary>
  1118.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs on client sockets just after the connection to the server is opened.</para>
  1119.          </summary>
  1120.          <comments>
  1121.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="Sockets" class="TCustomIpClient">OnConnect</event> event handler for a client socket to take specific action after the connection to a server socket has been established. Depending on the service, this may be the point when the socket should start reading or writing over the connection.</para>
  1122.          </comments>
  1123.       </member>
  1124.       <member name="E:Sockets.Sockets.OnDisconnect">
  1125.          <summary>
  1126.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs on client sockets just after the connection to the server is closed.</para>
  1127.          </summary>
  1128.          <comments>
  1129.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="Sockets" class="TCustomIpClient">OnDisconnect</event> event handler for a client socket to take specific action just after the connection to a server socket is terminated. </para>
  1130.          </comments>
  1131.       </member>
  1132.       <member name="T:Sockets.TRawSocket">
  1133.          <summary>
  1134.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1135.                
  1136.                <class namespace="Sockets">TRawSocket</class> encapsulates a raw socket<condition language="CBuilder">.</condition>
  1137.             
  1138.             </para>
  1139.          </summary>
  1140.          <comments>
  1141.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1142.                
  1143.                <class namespace="Sockets">TRawSocket</class> encapsulates a raw socket.</para>
  1144.          </comments>
  1145.       </member>
  1146.       <member name="M:Sockets.Sockets.Create">
  1147.          <summary>
  1148.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1149.                      
  1150.                <method namespace="Sockets" class="TRawSocket">Create</method>s an instance of a <method namespace="Sockets" class="TRawSocket">TRawSocket</method> object.</para>
  1151.          </summary>
  1152.          <comments>
  1153.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TRawSocket">Create</method> to instantiate a <method namespace="Sockets" class="TRawSocket">TRawSocket</method> object. </para>
  1154.          </comments>
  1155.       </member>
  1156.       <member name="T:Sockets.TUdpSocket">
  1157.          <summary>
  1158.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1159.                
  1160.                <class namespace="Sockets">TUdpSocket</class> is the UDP component<condition language="CBuilder">.</condition>
  1161.             
  1162.             </para>
  1163.          </summary>
  1164.          <comments>
  1165.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="Sockets">TUdpSocket</class> to create UDP-based applications. Add a <class namespace="Sockets">TUdpSocket</class> object to a form or data module to turn an application into a UDP/IP client and server. <class namespace="Sockets">TUdpSocket</class> specifies a desired connection to a UDP/IP server, manages the connection when it is open, and terminates the connection when the application is through. It also listens for requests for UDP/IP connections from other machines and establishes connections when requests are received.</para>
  1166.          </comments>
  1167.       </member>
  1168.       <member name="M:Sockets.Sockets.Create">
  1169.          <summary>
  1170.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1171.                      
  1172.                <method namespace="Sockets" class="TUdpSocket">Create</method>s an instance of <method namespace="Sockets" class="TUdpSocket">TUdpSocket</method>.</para>
  1173.          </summary>
  1174.          <comments>
  1175.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TUdpSocket">Create</method> to instantiate a <method namespace="Sockets" class="TUdpSocket">TUdpSocket</method> object. </para>
  1176.          </comments>
  1177.       </member>
  1178.       <member name="T:Sockets.TTcpClient">
  1179.          <summary>
  1180.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1181.                
  1182.                <class namespace="Sockets">TTcpClient</class> is the TCP client component<condition language="CBuilder">.</condition>
  1183.             
  1184.             </para>
  1185.          </summary>
  1186.          <comments>
  1187.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="Sockets">TTcpClient</class> to create TCP client applications.</para>
  1188.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1189.                
  1190.                <class namespace="Sockets">TTcpClient</class> publishes properties and events from its ancestor socket components.</para>
  1191.          </comments>
  1192.       </member>
  1193.       <member name="T:Sockets.TClientSocketThread">
  1194.          <summary>
  1195.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1196.                
  1197.                <class namespace="Sockets">TClientSocketThread</class> enables creation of separate threads of execution for the client socket in an application.</para>
  1198.          </summary>
  1199.          <comments>
  1200.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Create a <class namespace="Sockets">TClientSocketThread</class> (or a descendant of the class) to represent an execution thread for the client socket in a multi-threaded application. Each new instance of <class namespace="Sockets">TClientSocketThread</class>, a TThread descendant, is a new thread of execution. Using a separate <class namespace="Sockets">TClientSocketThread</class> allows the client socket to block without blocking the whole application.</para>
  1201.          </comments>
  1202.       </member>
  1203.       <member name="M:Sockets.Sockets.Create">
  1204.          <summary>
  1205.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1206.                      
  1207.                <method namespace="Sockets" class="TClientSocketThread">Create</method>s an instance of a <method namespace="Sockets" class="TClientSocketThread">TClientSocketThread</method> object.</para>
  1208.          </summary>
  1209.          <comments>
  1210.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TClientSocketThread">Create</method> to create an instance of a <method namespace="Sockets" class="TClientSocketThread">TClientSocketThread</method> object.</para>
  1211.          </comments>
  1212.       </member>
  1213.       <member name="M:Sockets.Sockets.SyncProc">
  1214.          <summary>
  1215.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Method where data synchronization is actually performed. </para>
  1216.          </summary>
  1217.          <comments>
  1218.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In subclasses of <method namespace="Sockets" class="TClientSocketThread">TClientSocketThread</method>, override <method namespace="Sockets" class="TClientSocketThread">SyncProc</method> to perform synchronization between threads. Put code in it to be executed by the main thread. Do not call this protected method directly; instead, call Execute<method namespace="Sockets" class="TClientSocketThread">SyncProc</method>.</para>
  1219.          </comments>
  1220.       </member>
  1221.       <member name="M:Sockets.Sockets.Execute">
  1222.          <summary>
  1223.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the code which executes when the thread is run. </para>
  1224.          </summary>
  1225.          <comments>
  1226.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TClientSocketThread">Execute</method> to execute the code that should be executed when the thread runs. <method namespace="Sockets" class="TClientSocketThread">Execute</method> is responsible for checking the value of the Terminated property to determine if the thread needs to exit.</para>
  1227.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1228.                      
  1229.                <para>Do not use the properties and methods of other objects directly in the <method namespace="Sockets" class="TClientSocketThread">Execute</method> method of a thread.  Instead, separate the use of other objects into a separate procedure call, and call that procedure by passing it as a parameter to the Synchronize method.</para>
  1230.                   
  1231.             </note>
  1232.          </comments>
  1233.       </member>
  1234.       <member name="M:Sockets.Sockets.ExecuteSyncProc">
  1235.          <summary>
  1236.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Synchronizes data between threads. </para>
  1237.          </summary>
  1238.          <comments>
  1239.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Objects in the client socket thread should not directly manipulate
  1240.         data in the application's main thread. Attempting to do so will cause
  1241.         synchronization problems and, most likely, the application will crash. To avoid
  1242.         synchronization errors, override the SyncProc method to include instructions
  1243.         which must be executed by the main thread.</para>
  1244.          </comments>
  1245.       </member>
  1246.       <member name="M:Sockets.Sockets.Destroy">
  1247.          <summary>
  1248.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1249.                      
  1250.                <method namespace="Sockets" class="TClientSocketThread">Destroy</method>s the <method namespace="Sockets" class="TClientSocketThread">TClientSocketThread</method> object and releases the memory allocated to it.</para>
  1251.          </summary>
  1252.          <comments>
  1253.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not call <method namespace="Sockets" class="TClientSocketThread">Destroy</method> in an application. Instead, use Free to destroy a thread when FreeOnTerminate is False.</para>
  1254.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1255.                      
  1256.                <method namespace="Sockets" class="TClientSocketThread">Destroy</method> signals the thread to terminate and then waits for the thread to return before calling the inherited <method namespace="Sockets" class="TClientSocketThread">Destroy</method> method.</para>
  1257.          </comments>
  1258.       </member>
  1259.       <member name="P:Sockets.Sockets.ClientSocket">
  1260.          <summary>
  1261.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Refers to the client socket handling the connection in that thread.</para>
  1262.          </summary>
  1263.          <comments>
  1264.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="Sockets" class="TClientSocketThread">ClientSocket</property> to obtain access to the client socket object handling the connection in the current thread of execution.</para>
  1265.          </comments>
  1266.       </member>
  1267.       <member name="P:Sockets.Sockets.ServerSocketThread">
  1268.          <summary>
  1269.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the server socket's thread.</para>
  1270.          </summary>
  1271.          <comments>
  1272.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="Sockets" class="TClientSocketThread">ServerSocketThread</property> get access to the thread object of the server socket.</para>
  1273.          </comments>
  1274.       </member>
  1275.       <member name="T:Sockets.TServerSocketThread">
  1276.          <summary>
  1277.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1278.                
  1279.                <class namespace="Sockets">TServerSocketThread</class> enables creation of separate threads of execution for the server socket in an application.</para>
  1280.          </summary>
  1281.          <comments>
  1282.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Create <class namespace="Sockets">TServerSocketThread</class> (or a descendant of the class) to represent an execution thread for the server socket in a multi-threaded application.  Each new instance of a <class namespace="Sockets">TServerSocketThread</class>, a TThread descendant, is a new thread of execution. Using a separate <class namespace="Sockets">TServerSocketThread</class> allows the server socket to block without blocking the whole application.</para>
  1283.          </comments>
  1284.       </member>
  1285.       <member name="M:Sockets.Sockets.Create">
  1286.          <summary>
  1287.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1288.                      
  1289.                <method namespace="Sockets" class="TServerSocketThread">Create</method>s an instance of a <method namespace="Sockets" class="TServerSocketThread">TServerSocketThread</method> object.</para>
  1290.          </summary>
  1291.          <comments>
  1292.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TServerSocketThread">Create</method> to create an instance of a <method namespace="Sockets" class="TServerSocketThread">TServerSocketThread</method> object.</para>
  1293.          </comments>
  1294.       </member>
  1295.       <member name="M:Sockets.Sockets.ClearThreadPool">
  1296.          <summary>
  1297.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Terminates all of the threads in the thread pool.</para>
  1298.          </summary>
  1299.          <comments>
  1300.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The thread pool is a list of client socket threads which are available to handle connection requests. This list is kept to allow reuse of old threads and improve performance. It is sometimes useful to destroy all of the thread object instances in this list.</para>
  1301.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TServerSocketThread">ClearThreadPool</method> to terminate all of the threads in the thread pool list. Any suspended thread in the pool will be resumed so that termination can proceed.</para>
  1302.          </comments>
  1303.       </member>
  1304.       <member name="M:Sockets.Sockets.Execute">
  1305.          <summary>
  1306.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the code which executes when the thread is run. </para>
  1307.          </summary>
  1308.          <comments>
  1309.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="Sockets" class="TServerSocketThread">Execute</method> to execute the code that should be executed when the thread runs. <method namespace="Sockets" class="TServerSocketThread">Execute</method> is responsible for checking the value of the Terminated property to determine if the thread needs to exit.</para>
  1310.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1311.                      
  1312.                <para>Do not use the properties and methods of other objects directly in the <method namespace="Sockets" class="TServerSocketThread">Execute</method> method of a thread.  Instead, separate the use of other objects into a separate procedure call, and call that procedure by passing it as a parameter to the Synchronize method.</para>
  1313.                   
  1314.             </note>
  1315.          </comments>
  1316.       </member>
  1317.       <member name="M:Sockets.Sockets.Destroy">
  1318.          <summary>
  1319.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1320.                      
  1321.                <method namespace="Sockets" class="TServerSocketThread">Destroy</method>s the <method namespace="Sockets" class="TServerSocketThread">TServerSocketThread</method> object and releases the memory allocated to it.</para>
  1322.          </summary>
  1323.          <comments>
  1324.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not call <method namespace="Sockets" class="TServerSocketThread">Destroy</method> in an application. Instead, use Free to destroy a thread when FreeOnTerminate is False.</para>
  1325.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1326.                      
  1327.                <method namespace="Sockets" class="TServerSocketThread">Destroy</method> signals the thread to terminate and then waits for the thread to return before calling the inherited <method namespace="Sockets" class="TServerSocketThread">Destroy</method> method.</para>
  1328.          </comments>
  1329.       </member>
  1330.       <member name="P:Sockets.Sockets.ServerSocket">
  1331.          <summary>
  1332.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the TCustomTcpServer object that manages all the
  1333.         TClientSocketThread objects for its client connections. </para>
  1334.          </summary>
  1335.          <comments>
  1336.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use 
  1337.         <property namespace="Sockets" class="TServerSocketThread">ServerSocket</property> to get direct access to the
  1338.         listening socket object that spawned the thread for a client connection it
  1339.         accepted. TServerSocketThread passes events and errors to the appropriate event
  1340.         handlers assigned to 
  1341.         <property namespace="Sockets" class="TServerSocketThread">ServerSocket</property>. T
  1342.         <property namespace="Sockets" class="TServerSocketThread">ServerSocket</property>Thread adds itself to the
  1343.         cache of threads maintained by 
  1344.         <property namespace="Sockets" class="TServerSocketThread">ServerSocket</property> from its constructor, and
  1345.         removes itself when the thread terminates.</para>
  1346.          </comments>
  1347.       </member>
  1348.       <member name="P:Sockets.Sockets.ThreadCacheSize">
  1349.          <summary>
  1350.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the number of <property namespace="Sockets" class="TServerSocketThread">TServerSocketThread</property> objects cached for reuse by new connections to client sockets. </para>
  1351.          </summary>
  1352.          <comments>
  1353.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="Sockets" class="TServerSocketThread">ThreadCacheSize</property> to specify the number of threads that are cached for reuse. The ideal value for <property namespace="Sockets" class="TServerSocketThread">ThreadCacheSize</property> depends on the number and frequency of client socket requests received by the server socket. If <property namespace="Sockets" class="TServerSocketThread">ThreadCacheSize</property> is too low, the server socket will spend more time freeing and creating threads when client connections are accepted. If <property namespace="Sockets" class="TServerSocketThread">ThreadCacheSize</property> is too high, the server socket may unnecessarily lock up the memory for threads that are never reused.</para>
  1354.          </comments>
  1355.       </member>
  1356.       <member name="P:Sockets.Sockets.ThreadPool">
  1357.          <summary>
  1358.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">A list of all the client socket threads created by the <property namespace="Sockets" class="TServerSocketThread">TServerSocketThread</property> object. </para>
  1359.          </summary>
  1360.          <comments>
  1361.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1362.                      
  1363.                <property namespace="Sockets" class="TServerSocketThread">TServerSocketThread</property> objects listen for requests on the network and delegate them to client socket threads. Each client socket thread is added to the list <property namespace="Sockets" class="TServerSocketThread">ThreadPool</property> after it is created. Creating and destroying client socket threads can be quite time consuming, so whenever one completes its work on a given connection it becomes dormant. When a new connection request is received, the <property namespace="Sockets" class="TServerSocketThread">ThreadPool</property> is checked for dormant client socket threads. If one is available, it is assigned the connection. If not, a new client socket thread created. By reusing previously-created threads, the application's performance is improved.</para>
  1364.          </comments>
  1365.       </member>
  1366.       <member name="E:Sockets.Sockets.OnGetThread">
  1367.          <summary>
  1368.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates and initializes a client socket thread when a connection is requested.</para>
  1369.          </summary>
  1370.          <comments>
  1371.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">An <event namespace="Sockets" class="TServerSocketThread">OnGetThread</event> event occurs when a connection is requested. The event handler creates an instance of TClientSocketThread and initializes it. Write an event handler on TCustomTcpServer to create and initialize instances of your own client socket thread class.</para>
  1372.          </comments>
  1373.       </member>
  1374.       <member name="T:Sockets.TCustomTcpServer">
  1375.          <summary>
  1376.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1377.                
  1378.                <class namespace="Sockets">TCustomTcpServer</class> is the ancestor object of all the server socket descendants<condition language="CBuilder">.</condition>
  1379.             
  1380.             </para>
  1381.          </summary>
  1382.          <comments>
  1383.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not create instances of <class namespace="Sockets">TCustomTcpServer</class>. Use <class namespace="Sockets">TCustomTcpServer</class> as a base class when declaring non-visual components that can appear on the component palette and be used in the form designer. Properties and methods of <class namespace="Sockets">TCustomTcpServer</class> provide basic behavior that descendant classes inherit as well as behavior that components can override to customize their behavior.</para>
  1384.          </comments>
  1385.       </member>
  1386.       <member name="M:Sockets.Sockets.Accept">
  1387.          <summary>
  1388.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1389.                      
  1390.                <method namespace="Sockets" class="TCustomTcpServer">Accept</method>s a connection to a client socket.</para>
  1391.          </summary>
  1392.          <comments>
  1393.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1394.                      
  1395.                <method namespace="Sockets" class="TCustomTcpServer">Accept</method> is called automatically in response to notifications that a client socket is requesting a connection. </para>
  1396.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <method namespace="Sockets" class="TCustomTcpServer">Accept</method> method for <method namespace="Sockets" class="TCustomTcpServer">TCustomTcpServer</method> does nothing with the notification. Descendants of <method namespace="Sockets" class="TCustomTcpServer">TCustomTcpServer</method> that represent listening server sockets override this method to accept the connection to the client socket. In the second declaration of the method, a TCustomIpClient object is created (as ClientSocket) to handle the connection.</para>
  1397.          </comments>
  1398.       </member>
  1399.       <member name="M:Sockets.Sockets.WaitForConnection">
  1400.          <summary>
  1401.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Listens for TCP connections.</para>
  1402.          </summary>
  1403.          <comments>
  1404.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TCustomTcpServer">WaitForConnection</method> to listen for TCP connections on the port specified by the LocalPort property. The thread will block until a connection request is received.</para>
  1405.          </comments>
  1406.       </member>
  1407.       <member name="M:Sockets.Sockets.Create">
  1408.          <summary>
  1409.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1410.                      
  1411.                <method namespace="Sockets" class="TCustomTcpServer">Create</method>s an instance of <method namespace="Sockets" class="TCustomTcpServer">TCustomTcpServer</method>.</para>
  1412.          </summary>
  1413.          <comments>
  1414.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TCustomTcpServer">Create</method> to instantiate a <method namespace="Sockets" class="TCustomTcpServer">TCustomTcpServer</method> object.</para>
  1415.          </comments>
  1416.       </member>
  1417.       <member name="M:Sockets.Sockets.Open">
  1418.          <summary>
  1419.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1420.                      
  1421.                <method namespace="Sockets" class="TCustomTcpServer">Open</method>s the socket connection.</para>
  1422.          </summary>
  1423.          <comments>
  1424.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TCustomTcpServer">Open</method> to initiate the socket connection. <method namespace="Sockets" class="TCustomTcpServer">Open</method> sets the Active property to true.</para>
  1425.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For client sockets, <method namespace="Sockets" class="TCustomTcpServer">Open</method> locates and connects to a server. For server sockets, <method namespace="Sockets" class="TCustomTcpServer">Open</method> opens the socket connection in a listening mode, but does not complete the connection to a client socket.</para>
  1426.          </comments>
  1427.       </member>
  1428.       <member name="M:Sockets.Sockets.Close">
  1429.          <summary>
  1430.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Shuts down the socket connection.</para>
  1431.          </summary>
  1432.          <comments>
  1433.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="Sockets" class="TCustomTcpServer">Close</method> to shut down the socket connection. <method namespace="Sockets" class="TCustomTcpServer">Close</method> sets the Active property to false.</para>
  1434.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For client sockets, <method namespace="Sockets" class="TCustomTcpServer">Close</method> terminates the connection to the server. For server sockets, <method namespace="Sockets" class="TCustomTcpServer">Close</method> shuts down the connection so that the server socket is no longer listening for client requests.</para>
  1435.          </comments>
  1436.       </member>
  1437.       <member name="P:Sockets.Sockets.BlockMode">
  1438.          <summary>
  1439.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets or returns the blocking mode of the socket. </para>
  1440.          </summary>
  1441.          <comments>
  1442.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="Sockets" class="TCustomTcpServer">BlockMode</property> to set or return the blocking mode for the socket. By default, the socket is set to bmThreadBlocking.</para>
  1443.          </comments>
  1444.       </member>
  1445.       <member name="P:Sockets.Sockets.Listening">
  1446.          <summary>
  1447.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets the server application to listen for client requests. </para>
  1448.          </summary>
  1449.          <comments>
  1450.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1451.                      
  1452.                <property namespace="Sockets" class="TCustomTcpServer">Listening</property> sets the server application to listen for client requests.</para>
  1453.          </comments>
  1454.       </member>
  1455.       <member name="P:Sockets.Sockets.ServerSocketThread">
  1456.          <summary>
  1457.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the T<property namespace="Sockets" class="TCustomTcpServer">ServerSocketThread</property> in use.</para>
  1458.          </summary>
  1459.          <comments>
  1460.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1461.                      
  1462.                <property namespace="Sockets" class="TCustomTcpServer">ServerSocketThread</property> is a reference to the server socket thread object.</para>
  1463.          </comments>
  1464.       </member>
  1465.       <member name="E:Sockets.Sockets.OnAccept">
  1466.          <summary>
  1467.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs on server sockets just after the connection to a client socket is accepted.</para>
  1468.          </summary>
  1469.          <comments>
  1470.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="Sockets" class="TCustomTcpServer">OnAccept</event> event handler for a server socket to take specific action after the connection to a client socket has been accepted. This is the first point when information is available about the local port and IP address that will be used in the server endpoint of the connection. The port number, and possibly the IP address, will differ from those of the listening socket.</para>
  1471.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Server sockets open a socket connection for listening to establish a queue to hold client requests. After a request from the queue is accepted by the server socket, an <event namespace="Sockets" class="TCustomTcpServer">OnAccept</event> event occurs. After the server socket accepts the connection, the client socket completes the connection, and an OnConnect event occurs for the client socket.</para>
  1472.          </comments>
  1473.       </member>
  1474.       <member name="E:Sockets.Sockets.OnGetThread">
  1475.          <summary>
  1476.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">A wrapper for the TServerSocketThread event of the same name.</para>
  1477.          </summary>
  1478.          <comments>
  1479.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="Sockets" class="TCustomTcpServer">OnGetThread</event> event handler to create and initialize your own thread object for the server connection to use. This event is exactly the same as the <event namespace="Sockets" class="TCustomTcpServer">OnGetThread</event> event of the TServerSocketThread object referenced in ServerSocketThread.</para>
  1480.          </comments>
  1481.       </member>
  1482.       <member name="E:Sockets.Sockets.OnListening">
  1483.          <summary>
  1484.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs when a server socket begins listening for connections.</para>
  1485.          </summary>
  1486.          <comments>
  1487.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="Sockets" class="TCustomTcpServer">OnListening</event> event to take specific action when a server begins listening for a connection.</para>
  1488.          </comments>
  1489.       </member>
  1490.       <member name="T:Sockets.TTcpServer">
  1491.          <summary>
  1492.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1493.                
  1494.                <class namespace="Sockets">TTcpServer</class> is the TCP server component<condition language="CBuilder">.</condition>
  1495.             
  1496.             </para>
  1497.          </summary>
  1498.          <comments>
  1499.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="Sockets">TTcpServer</class> to create TCP server applications.</para>
  1500.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1501.                
  1502.                <class namespace="Sockets">TTcpServer</class> publishes properties and events from its ancestor socket components.</para>
  1503.          </comments>
  1504.       </member>
  1505.       <member name="T:AutoDisp.TWebDispatch">
  1506.          <summary>
  1507.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1508.                
  1509.                <class namespace="AutoDisp">TWebDispatch</class> describes the HTTP messages to which an auto-dispatching component responds.</para>
  1510.          </summary>
  1511.          <comments>
  1512.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1513.                
  1514.                <class namespace="AutoDisp">TWebDispatch</class> implements the WebDispatch property of an auto-dispatching component such as <condition os="Windows">TXMLBroker, </condition>THTTPSoapDispatcher<condition os="Windows">,</condition> or TWSDLHTMLPublish. It specifies the path info portion of the URL for messages directed at the component, the type of messages to which the component can respond, and allows an application to disable the auto-dispatching so that it does not respond directly to HTTP messages from a Web browser.</para>
  1515.          </comments>
  1516.       </member>
  1517.       <member name="M:AutoDisp.AutoDisp.Create">
  1518.          <summary>
  1519.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1520.                      
  1521.                <method namespace="AutoDisp" class="TWebDispatch">Create</method>s and initializes an instance of <method namespace="AutoDisp" class="TWebDispatch">TWebDispatch</method>.</para>
  1522.          </summary>
  1523.          <comments>
  1524.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <method namespace="AutoDisp" class="TWebDispatch">TWebDispatch</method> constructor is called from the constructor of the auto-dispatching component that uses it to implement its WebDispatch property. The AComponent parameter specifies the auto-dispatching component that uses the <method namespace="AutoDisp" class="TWebDispatch">TWebDispatch</method> instance.</para>
  1525.          </comments>
  1526.       </member>
  1527.       <member name="M:AutoDisp.AutoDisp.Destroy">
  1528.          <summary>
  1529.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1530.                      
  1531.                <method namespace="AutoDisp" class="TWebDispatch">Destroy</method>s an instance of <method namespace="AutoDisp" class="TWebDispatch">TWebDispatch</method>.</para>
  1532.          </summary>
  1533.          <comments>
  1534.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not call <method namespace="AutoDisp" class="TWebDispatch">Destroy</method>. The <method namespace="AutoDisp" class="TWebDispatch">TWebDispatch</method> instance is freed by the auto-dispatching component that uses it.</para>
  1535.          </comments>
  1536.       </member>
  1537.       <member name="P:AutoDisp.AutoDisp.Mask">
  1538.          <summary>
  1539.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides a mask object for comparing the PathInfo property with another path.</para>
  1540.          </summary>
  1541.          <comments>
  1542.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="AutoDisp" class="TWebDispatch">Mask</property> to compare the PathInfo property with the path portion of a URL. <property namespace="AutoDisp" class="TWebDispatch">Mask</property> is a T<property namespace="AutoDisp" class="TWebDispatch">Mask</property> object that represents the string specified by PathInfo.</para>
  1543.          </comments>
  1544.       </member>
  1545.       <member name="P:AutoDisp.AutoDisp.Enabled">
  1546.          <summary>
  1547.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the Web dispatcher passes requests to the object using the <property namespace="AutoDisp" class="TWebDispatch">TWebDispatch</property> object. </para>
  1548.          </summary>
  1549.          <comments>
  1550.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="AutoDisp" class="TWebDispatch">Enabled</property> to indicate whether the object using the Web dispatcher responds directly to HTTP request messages. By default, <property namespace="AutoDisp" class="TWebDispatch">Enabled</property> is true, but an application may disable the auto-dispatching of a component because</para>
  1551.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The application responds to request messages using an action item on the Web dispatcher rather than using the auto-dispatch feature of the component that uses <property namespace="AutoDisp" class="TWebDispatch">TWebDispatch</property> as its WebDispatch property. Action items give you greater control over the order in which the dispatcher passes a request message on for handling, and let you embed the default action of the auto-dispatching component with other actions performed by the action item.</para>
  1552.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The application uses other features of the auto-dispatching component but does not want it to respond to HTTP request messages. For example, a Web client may include an XML broker to provide data packets that appear in the generated HTML pages, but not allow Web browsers to apply updates. When <property namespace="AutoDisp" class="TWebDispatch">Enabled</property> is false, the Web dispatcher does not pass update messages on to the XML broker.</para>
  1553.          </comments>
  1554.       </member>
  1555.       <member name="P:AutoDisp.AutoDisp.PathInfo">
  1556.          <summary>
  1557.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the path portion of the Uniform Resource Identifier (URI) for which the auto-dispatching component handles requests.</para>
  1558.          </summary>
  1559.          <comments>
  1560.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="AutoDisp" class="TWebDispatch">PathInfo</property> to the path portion of the URI for the target of any request messages serviced by the auto-dispatching component that uses <property namespace="AutoDisp" class="TWebDispatch">TWebDispatch</property>. The Web dispatcher matches components to request messages by comparing <property namespace="AutoDisp" class="TWebDispatch">PathInfo</property> with the path portion of the URI specified as the target of the request. If the <property namespace="AutoDisp" class="TWebDispatch">PathInfo</property> properties match, and the MethodType matches, the Web dispatcher invokes the auto-dispatching object so that it can respond to the message.</para>
  1561.          </comments>
  1562.       </member>
  1563.       <member name="T:AutoDisp.TWebPathInfo">
  1564.          <summary>
  1565.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1566.                
  1567.                <class namespace="AutoDisp">TWebPathInfo</class> describes the HTTP messages to which an auto-dispatching component responds.</para>
  1568.          </summary>
  1569.          <comments>
  1570.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TWebPageInfo implements the PathInfo property of an auto-dispatching component such as TWebDispatch. It specifies the path info portion of the URL for messages directed at the component.</para>
  1571.          </comments>
  1572.       </member>
  1573.       <member name="P:AutoDisp.AutoDisp.Mask">
  1574.          <summary>
  1575.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides a mask object for comparing the PathInfo property with another path.</para>
  1576.          </summary>
  1577.          <comments>
  1578.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use Mask to compare the PathInfo property with the path portion of a URL. Mask is a TMask object that represents the string specified by PathInfo.</para>
  1579.          </comments>
  1580.       </member>
  1581.       <member name="P:AutoDisp.AutoDisp.PathInfo">
  1582.          <summary>
  1583.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the path portion of the Uniform Resource Identifier (URI) for which the auto-dispatching component handles requests.</para>
  1584.          </summary>
  1585.          <comments>
  1586.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set PathInfo to the path portion of the URI for the target of any request messages serviced by the auto-dispatching component that uses <property namespace="AutoDisp" class="TWebPathInfo">TWebPathInfo</property>. The Web dispatcher matches components to request messages by comparing PathInfo with the path portion of the URI specified as the target of the request. If the PathInfo properties match, and the MethodType matches, the Web dispatcher invokes the auto-dispatching object so that it can respond to the message.</para>
  1587.          </comments>
  1588.       </member>
  1589.       <member name="T:HTTPProd.THTMLTagAttributes">
  1590.          <summary>
  1591.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1592.                
  1593.                <class namespace="HTTPProd">THTMLTagAttributes</class> is the base class for all objects that represent the attributes of an HTML tag.</para>
  1594.          </summary>
  1595.          <comments>
  1596.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Descendants of TCustomContentProducer use <class namespace="HTTPProd">THTMLTagAttributes</class> objects to encapsulate the options added to the HTML tags in the HTML commands that they produce. When the TCustomContentProducer object generates HTML commands, it looks up the tag attributes represented by the properties of its tag attributes objects, and generates the appropriate tag options.</para>
  1597.          </comments>
  1598.       </member>
  1599.       <member name="M:HTTPProd.HTTPProd.Create">
  1600.          <summary>
  1601.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1602.                      
  1603.                <method namespace="HTTPProd" class="THTMLTagAttributes">Create</method>s an instance of <method namespace="HTTPProd" class="THTMLTagAttributes">THTMLTagAttributes</method>.</para>
  1604.          </summary>
  1605.          <comments>
  1606.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPProd" class="THTMLTagAttributes">Create</method> to create and initialize an instance of <method namespace="HTTPProd" class="THTMLTagAttributes">THTMLTagAttributes</method> at runtime. After calling the inherited constructor, <method namespace="HTTPProd" class="THTMLTagAttributes">Create</method> sets the Producer property to the value of the Producer parameter.</para>
  1607.          </comments>
  1608.       </member>
  1609.       <member name="M:HTTPProd.HTTPProd.Changed">
  1610.          <summary>
  1611.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Generates an OnChange event.</para>
  1612.          </summary>
  1613.          <comments>
  1614.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPProd" class="THTMLTagAttributes">Changed</method> from a descendant of <method namespace="HTTPProd" class="THTMLTagAttributes">THTMLTagAttributes</method> after a tag option introduced by that descendant changes. <method namespace="HTTPProd" class="THTMLTagAttributes">Changed</method> is exposed as a protected method so that component writers can create descendants of <method namespace="HTTPProd" class="THTMLTagAttributes">THTMLTagAttributes</method> which correctly trigger the OnChange event handler.</para>
  1615.          </comments>
  1616.       </member>
  1617.       <member name="M:HTTPProd.HTTPProd.RestoreDefaults">
  1618.          <summary>
  1619.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Changes all properties of the tag attributes object back to their initial settings.</para>
  1620.          </summary>
  1621.          <comments>
  1622.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPProd" class="THTMLTagAttributes">RestoreDefaults</method> to undo any changes that were made to the tag attributes either programmatically, or at design time. RestoreAttributes sets the Custom property to an empty string.</para>
  1623.          </comments>
  1624.       </member>
  1625.       <member name="P:HTTPProd.HTTPProd.Producer">
  1626.          <summary>
  1627.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the content producer that uses the <property namespace="HTTPProd" class="THTMLTagAttributes">THTMLTagAttributes</property> object to represent the options for one of the HTML tags in the content it produces.</para>
  1628.          </summary>
  1629.          <comments>
  1630.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPProd" class="THTMLTagAttributes">Producer</property> to gain access to the HTML producer object that is using the <property namespace="HTTPProd" class="THTMLTagAttributes">THTMLTagAttributes</property> object. The <property namespace="HTTPProd" class="THTMLTagAttributes">THTMLTagAttributes</property> object can use the <property namespace="HTTPProd" class="THTMLTagAttributes">Producer</property> property in an OnChange event handler to notify the TCustomContent<property namespace="HTTPProd" class="THTMLTagAttributes">Producer</property> object of changes to the attributes it represents.</para>
  1631.          </comments>
  1632.       </member>
  1633.       <member name="P:HTTPProd.HTTPProd.Custom">
  1634.          <summary>
  1635.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents a tag option and its value in an HTML tag.</para>
  1636.          </summary>
  1637.          <comments>
  1638.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPProd" class="THTMLTagAttributes">Custom</property> to represent one or more options to be added to an HTML tag. Each option and its value should have the form </para>
  1639.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">OPTIONNAME=Value</codeBlock>
  1640.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The options specified by <property namespace="HTTPProd" class="THTMLTagAttributes">Custom</property> should be separated by spaces. For example, to merge a cell in an HTML table with the three adjacent cells to the left and below, the table data tag for the cell requires the ROWSPAN and COLSPAN options to be set. The value of <property namespace="HTTPProd" class="THTMLTagAttributes">Custom</property> to specify these values would be the string</para>
  1641.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ROWSPAN=2 COLSPAN=2</codeBlock>
  1642.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The HTML producer inserts the <property namespace="HTTPProd" class="THTMLTagAttributes">Custom</property> string into the HTML tag when it generates its Content.</para>
  1643.          </comments>
  1644.       </member>
  1645.       <member name="E:HTTPProd.HTTPProd.OnChange">
  1646.          <summary>
  1647.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs immediately after a tag attributes property changes.</para>
  1648.          </summary>
  1649.          <comments>
  1650.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="HTTPProd" class="THTMLTagAttributes">OnChange</event> event handler to take specific action whenever any of the properties of the tag attributes object changes. When <event namespace="HTTPProd" class="THTMLTagAttributes">OnChange</event> occurs, the tag attributes object already has the new property setting. Use an <event namespace="HTTPProd" class="THTMLTagAttributes">OnChange</event> event handler to inform the HTML content producer whenever the attributes of a tag change so that the content producer can update the content it is producing.</para>
  1651.          </comments>
  1652.       </member>
  1653.       <member name="T:HTTPProd.THTMLTableAttributes">
  1654.          <summary>
  1655.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1656.                
  1657.                <class namespace="HTTPProd">THTMLTableAttributes</class> represents the display attributes of an HTML table tag.</para>
  1658.          </summary>
  1659.          <comments>
  1660.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="HTTPProd">THTMLTableAttributes</class> to describe the desired appearance of an HTML table. The properties of the <class namespace="HTTPProd">THTMLTableAttributes</class> object correspond to the options that can be added to the HTML table tag. When the attributes of all the parts of the HTML table have been specified, an HTML producer object creates the HTML commands to specify the table as described.</para>
  1661.          </comments>
  1662.       </member>
  1663.       <member name="M:HTTPProd.HTTPProd.Create">
  1664.          <summary>
  1665.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1666.                      
  1667.                <method namespace="HTTPProd" class="THTMLTableAttributes">Create</method>s an instance of <method namespace="HTTPProd" class="THTMLTableAttributes">THTMLTableAttributes</method>.</para>
  1668.          </summary>
  1669.          <comments>
  1670.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPProd" class="THTMLTableAttributes">Create</method> to create and initialize a <method namespace="HTTPProd" class="THTMLTableAttributes">THTMLTableAttributes</method> object. The Producer parameter specifies the HTML producer that is using the <method namespace="HTTPProd" class="THTMLTableAttributes">THTMLTableAttributes</method> object to specify the attributes of an HTML table that makes up part of its output.</para>
  1671.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">After calling the inherited constructor, <method namespace="HTTPProd" class="THTMLTableAttributes">Create</method> initializes</para>
  1672.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Width to a value of 100.</para>
  1673.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Border to a value of -1.</para>
  1674.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">CellPadding to a value of -1.</para>
  1675.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">CellSpacing to a value of -1.</para>
  1676.          </comments>
  1677.       </member>
  1678.       <member name="M:HTTPProd.HTTPProd.AssignTo">
  1679.          <summary>
  1680.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Copies the properties of a <method namespace="HTTPProd" class="THTMLTableAttributes">THTMLTableAttributes</method> object to another <method namespace="HTTPProd" class="THTMLTableAttributes">THTMLTableAttributes</method> object.</para>
  1681.          </summary>
  1682.          <comments>
  1683.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications cannot call the protected <method namespace="HTTPProd" class="THTMLTableAttributes">AssignTo</method> method. To assign the properties of a <method namespace="HTTPProd" class="THTMLTableAttributes">THTMLTableAttributes</method> object to another object, use the Assign method of the destination object. </para>
  1684.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When the Assign method of another object specifies a <method namespace="HTTPProd" class="THTMLTableAttributes">THTMLTableAttributes</method> object as the source of the assignment, the <method namespace="HTTPProd" class="THTMLTableAttributes">AssignTo</method> method of the <method namespace="HTTPProd" class="THTMLTableAttributes">THTMLTableAttributes</method> object is called. <method namespace="HTTPProd" class="THTMLTableAttributes">AssignTo</method> checks whether the Dest parameter is another <method namespace="HTTPProd" class="THTMLTableAttributes">THTMLTableAttributes</method> object, and if so, copies the values of the Align, Border, CellSpacing, CellPadding, and Width properties. If Dest is any other class of object, the inherited method is called.</para>
  1685.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1686.                      
  1687.                <para>
  1688.                         
  1689.                   <method namespace="HTTPProd" class="THTMLTableAttributes">AssignTo</method> does not copy the Custom property.</para>
  1690.                   
  1691.             </note>
  1692.          </comments>
  1693.       </member>
  1694.       <member name="M:HTTPProd.HTTPProd.RestoreDefaults">
  1695.          <summary>
  1696.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Changes all properties of the table attributes object back to their initial settings.</para>
  1697.          </summary>
  1698.          <comments>
  1699.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPProd" class="THTMLTableAttributes">RestoreDefaults</method> to undo any changes that were made to the table attributes either programmatically, or using the response editor at design time. RestoreAttributes sets</para>
  1700.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Align to haDefault. (Delphi) or haDefault; (C++)</para>
  1701.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Border, CellPadding, and CellSpacing to ΓÇô1. (Delphi) or -1; (C++)</para>
  1702.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1703.                      
  1704.                <condition language="CBuilder"/>Custom to an empty string.</para>
  1705.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Width to 100. (Delphi) or 100; (C++)</para>
  1706.          </comments>
  1707.       </member>
  1708.       <member name="P:HTTPProd.HTTPProd.Align">
  1709.          <summary>
  1710.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the alignment of the table within the HTML document.</para>
  1711.          </summary>
  1712.          <comments>
  1713.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPProd" class="THTMLTableAttributes">Align</property> to indicate the desired alignment of the table within the HTML document, or within the cell of a surrounding HTML table object. <property namespace="HTTPProd" class="THTMLTableAttributes">Align</property> indicates the desired value of the <property namespace="HTTPProd" class="THTMLTableAttributes">Align</property> option of the HTML table tag.</para>
  1714.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The default value of <property namespace="HTTPProd" class="THTMLTableAttributes">Align</property> is haDefault, which means the web browser that reads the HTML document positions the HTML table where it wants. </para>
  1715.          </comments>
  1716.       </member>
  1717.       <member name="P:HTTPProd.HTTPProd.BgColor">
  1718.          <summary>
  1719.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the background color of the HTML table.</para>
  1720.          </summary>
  1721.          <comments>
  1722.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPProd" class="THTMLTableAttributes">BgColor</property> to indicate the desired background color of the HTML table. The value of <property namespace="HTTPProd" class="THTMLTableAttributes">BgColor</property> is the name of color. This can be one of the following strings:</para>
  1723.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
  1724.             <table xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1725.                      
  1726.                <tr/>
  1727.                      
  1728.                <tr>
  1729.                         
  1730.                   <td>
  1731.                            
  1732.                      <para>Aqua</para>
  1733.                         
  1734.                   </td>
  1735.                         
  1736.                   <td>
  1737.                            
  1738.                      <para>Black</para>
  1739.                         
  1740.                   </td>
  1741.                         
  1742.                   <td>
  1743.                            
  1744.                      <para>Blue</para>
  1745.                         
  1746.                   </td>
  1747.                         
  1748.                   <td>
  1749.                            
  1750.                      <para>Fuschia</para>
  1751.                         
  1752.                   </td>
  1753.                      
  1754.                </tr>
  1755.                      
  1756.                <tr>
  1757.                         
  1758.                   <td>
  1759.                            
  1760.                      <para>Gray</para>
  1761.                         
  1762.                   </td>
  1763.                         
  1764.                   <td>
  1765.                            
  1766.                      <para>Green</para>
  1767.                         
  1768.                   </td>
  1769.                         
  1770.                   <td>
  1771.                            
  1772.                      <para>Lime</para>
  1773.                         
  1774.                   </td>
  1775.                         
  1776.                   <td>
  1777.                            
  1778.                      <para>Maroon</para>
  1779.                         
  1780.                   </td>
  1781.                      
  1782.                </tr>
  1783.                      
  1784.                <tr>
  1785.                         
  1786.                   <td>
  1787.                            
  1788.                      <para>Navy</para>
  1789.                         
  1790.                   </td>
  1791.                         
  1792.                   <td>
  1793.                            
  1794.                      <para>Olive</para>
  1795.                         
  1796.                   </td>
  1797.                         
  1798.                   <td>
  1799.                            
  1800.                      <para>Purple</para>
  1801.                         
  1802.                   </td>
  1803.                         
  1804.                   <td>
  1805.                            
  1806.                      <para>Red</para>
  1807.                         
  1808.                   </td>
  1809.                      
  1810.                </tr>
  1811.                      
  1812.                <tr>
  1813.                         
  1814.                   <td>
  1815.                            
  1816.                      <para>Silver</para>
  1817.                         
  1818.                   </td>
  1819.                         
  1820.                   <td>
  1821.                            
  1822.                      <para>Teal</para>
  1823.                         
  1824.                   </td>
  1825.                         
  1826.                   <td>
  1827.                            
  1828.                      <para>White</para>
  1829.                         
  1830.                   </td>
  1831.                         
  1832.                   <td>
  1833.                            
  1834.                      <para>Yellow</para>
  1835.                         
  1836.                   </td>
  1837.                      
  1838.                </tr>
  1839.                   
  1840.             </table>
  1841.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <property namespace="HTTPProd" class="THTMLTableAttributes">BgColor</property> property of the HTML attributes objects for the pieces of the table for more involved color effects.</para>
  1842.          </comments>
  1843.       </member>
  1844.       <member name="P:HTTPProd.HTTPProd.Border">
  1845.          <summary>
  1846.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the thickness of the border drawn around the HTML table.</para>
  1847.          </summary>
  1848.          <comments>
  1849.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPProd" class="THTMLTableAttributes">Border</property> to specify whether a border should be drawn around the table, and if so, how thick it should be. The thickness specified by any particular value of border depends on the web browser that views the HTML table. For any browser, however, larger numbers indicate thicker borders. A value of -1 indicates that no border should be drawn around the table.</para>
  1850.          </comments>
  1851.       </member>
  1852.       <member name="P:HTTPProd.HTTPProd.CellSpacing">
  1853.          <summary>
  1854.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the amount of space to leave between cells in the HTML table.</para>
  1855.          </summary>
  1856.          <comments>
  1857.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPProd" class="THTMLTableAttributes">CellSpacing</property> to specify how many pixels of whitespace should appear between the cells in the table. A value of -1 indicates that the web browser should decide how to separate the cells of the HTML table.</para>
  1858.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1859.                      
  1860.                <para>
  1861.                         
  1862.                   <property namespace="HTTPProd" class="THTMLTableAttributes">CellSpacing</property> refers to the whitespace between cells in an HTML table, not the thickness of the lines drawn to separate rows and columns.</para>
  1863.                   
  1864.             </note>
  1865.          </comments>
  1866.       </member>
  1867.       <member name="P:HTTPProd.HTTPProd.CellPadding">
  1868.          <summary>
  1869.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the amount of space to leave around the contents of each cell in the HTML table.</para>
  1870.          </summary>
  1871.          <comments>
  1872.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPProd" class="THTMLTableAttributes">CellPadding</property> to specify how many pixels of whitespace should appear between a cell's contents and the edges of the cell. A value of -1 indicates that the web browser should decide how to pad the cells of the HTML table.</para>
  1873.          </comments>
  1874.       </member>
  1875.       <member name="P:HTTPProd.HTTPProd.Width">
  1876.          <summary>
  1877.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the width of the entire HTML table.</para>
  1878.          </summary>
  1879.          <comments>
  1880.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPProd" class="THTMLTableAttributes">Width</property> to indicate the desired width of the HTML table as a percentage of the width of the web browser window. If the value of <property namespace="HTTPProd" class="THTMLTableAttributes">Width</property> is too small for the contents of the table, the web browser will ignore this property.</para>
  1881.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The default value of <property namespace="HTTPProd" class="THTMLTableAttributes">Width</property> is 100, meaning the table will span the entire browser window. In this case, the value of the Align property is meaningless.</para>
  1882.          </comments>
  1883.       </member>
  1884.       <member name="T:HTTPProd.THTMLTableElementAttributes">
  1885.          <summary>
  1886.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1887.                
  1888.                <class namespace="HTTPProd">THTMLTableElementAttributes</class> is the common base class for objects that describe the display attributes of parts of an HTML table.</para>
  1889.          </summary>
  1890.          <comments>
  1891.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the properties of <class namespace="HTTPProd">THTMLTableElementAttributes</class> to describe the desired appearance of a piece of an HTML table. The properties of <class namespace="HTTPProd">THTMLTableElementAttributes</class> correspond to the common options that can be added to the tags for the parts of the HTML table. When the attributes of all the parts of the HTML table have been specified, an HTML producer object creates the HTML commands to specify the table as described.</para>
  1892.          </comments>
  1893.       </member>
  1894.       <member name="M:HTTPProd.HTTPProd.AssignTo">
  1895.          <summary>
  1896.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Copies the properties of a <method namespace="HTTPProd" class="THTMLTableElementAttributes">THTMLTableElementAttributes</method> object to another <method namespace="HTTPProd" class="THTMLTableElementAttributes">THTMLTableElementAttributes</method> object.</para>
  1897.          </summary>
  1898.          <comments>
  1899.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can not call the protected <method namespace="HTTPProd" class="THTMLTableElementAttributes">AssignTo</method> method. To assign the properties of a <method namespace="HTTPProd" class="THTMLTableElementAttributes">THTMLTableElementAttributes</method> object to another object, use the Assign method of the destination object. </para>
  1900.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When the Assign method of another object specifies a <method namespace="HTTPProd" class="THTMLTableElementAttributes">THTMLTableElementAttributes</method> object as the source of the assignment, the <method namespace="HTTPProd" class="THTMLTableElementAttributes">AssignTo</method> method of the <method namespace="HTTPProd" class="THTMLTableElementAttributes">THTMLTableElementAttributes</method> object is called. <method namespace="HTTPProd" class="THTMLTableElementAttributes">AssignTo</method> checks whether the Dest parameter is another <method namespace="HTTPProd" class="THTMLTableElementAttributes">THTMLTableElementAttributes</method> object, and if so, copies the values of the BgColor, Align, and VAlign properties. If Dest is any other class of object, the inherited method is called.</para>
  1901.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1902.                      
  1903.                <para>
  1904.                         
  1905.                   <method namespace="HTTPProd" class="THTMLTableElementAttributes">AssignTo</method> does not copy the Custom property.</para>
  1906.                   
  1907.             </note>
  1908.          </comments>
  1909.       </member>
  1910.       <member name="M:HTTPProd.HTTPProd.RestoreDefaults">
  1911.          <summary>
  1912.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Changes all properties of the attributes object back to their initial settings.</para>
  1913.          </summary>
  1914.          <comments>
  1915.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPProd" class="THTMLTableElementAttributes">RestoreDefaults</method> to undo any changes that were made to the table element attributes either programmatically, or using the Object Inspector at design time. RestoreAttributes sets</para>
  1916.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Align to haDefault, and VAlign to haVDefault.</para>
  1917.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">BgColor to an empty string.</para>
  1918.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Custom to an empty string.</para>
  1919.          </comments>
  1920.       </member>
  1921.       <member name="P:HTTPProd.HTTPProd.Align">
  1922.          <summary>
  1923.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the horizontal alignment of the contents of the HTML table element.</para>
  1924.          </summary>
  1925.          <comments>
  1926.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPProd" class="THTMLTableElementAttributes">Align</property> to indicate the desired horizontal alignment of the contents of the cell or cells indicated by the table element. <property namespace="HTTPProd" class="THTMLTableElementAttributes">Align</property> indicates the desired value of the <property namespace="HTTPProd" class="THTMLTableElementAttributes">Align</property> option of the HTML tag for the table element.</para>
  1927.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The default value of <property namespace="HTTPProd" class="THTMLTableElementAttributes">Align</property> is haDefault, which means the web browser that reads the HTML document horizontally positions the contents of the table element wherever it wishes.</para>
  1928.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <property namespace="HTTPProd" class="THTMLTableElementAttributes">Align</property> property of table data cells or header cells overrides the <property namespace="HTTPProd" class="THTMLTableElementAttributes">Align</property> property of the table row in which they appear.</para>
  1929.          </comments>
  1930.       </member>
  1931.       <member name="P:HTTPProd.HTTPProd.BgColor">
  1932.          <summary>
  1933.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the background color of the HTML table element.</para>
  1934.          </summary>
  1935.          <comments>
  1936.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPProd" class="THTMLTableElementAttributes">BgColor</property> to indicate the desired background color of the HTML table element. The value of <property namespace="HTTPProd" class="THTMLTableElementAttributes">BgColor</property> is the name of color. This can be one of the following strings:</para>
  1937.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <property namespace="HTTPProd" class="THTMLTableElementAttributes">BgColor</property> property of the THTMLTableAttributes object to set a background color for the entire table. Use the <property namespace="HTTPProd" class="THTMLTableElementAttributes">BgColor</property> property of the table element attributes object to make a table element stand out from the rest of the table.</para>
  1938.          </comments>
  1939.       </member>
  1940.       <member name="P:HTTPProd.HTTPProd.VAlign">
  1941.          <summary>
  1942.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the vertical alignment of the contents of the HTML table element.</para>
  1943.          </summary>
  1944.          <comments>
  1945.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPProd" class="THTMLTableElementAttributes">VAlign</property> to indicate the desired vertical alignment of the contents of the HTML table element. <property namespace="HTTPProd" class="THTMLTableElementAttributes">VAlign</property> indicates the desired value of the <property namespace="HTTPProd" class="THTMLTableElementAttributes">VAlign</property> option of the HTML tag for the table element.</para>
  1946.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The default value of <property namespace="HTTPProd" class="THTMLTableElementAttributes">VAlign</property> is haVDefault, which means the web browser that reads the HTML document positions the contents of cells in the table element wherever it wishes vertically.</para>
  1947.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <property namespace="HTTPProd" class="THTMLTableElementAttributes">VAlign</property> property of table data cells or header cells overrides the <property namespace="HTTPProd" class="THTMLTableElementAttributes">VAlign</property> property of the table row in which they appear.</para>
  1948.          </comments>
  1949.       </member>
  1950.       <member name="T:HTTPProd.THTMLTableHeaderAttributes">
  1951.          <summary>
  1952.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1953.                
  1954.                <class namespace="HTTPProd">THTMLTableHeaderAttributes</class> represents the display attributes of the header tag in an HTML table.</para>
  1955.          </summary>
  1956.          <comments>
  1957.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="HTTPProd">THTMLTableHeaderAttributes</class> to describe the desired appearance of a header cell in an HTML table. The properties of the <class namespace="HTTPProd">THTMLTableHeaderAttributes</class> object correspond to the options that can be added to the HTML header tag (TH). When the attributes of all the parts of the HTML table have been specified, the HTML content producer creates the HTML commands to specify the table as described.</para>
  1958.          </comments>
  1959.       </member>
  1960.       <member name="P:HTTPProd.HTTPProd.Caption">
  1961.          <summary>
  1962.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the text that appears in the header cell.</para>
  1963.          </summary>
  1964.          <comments>
  1965.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set the <property namespace="HTTPProd" class="THTMLTableHeaderAttributes">Caption</property> property to provide a caption for the column that contains the header cell. If the header cell is used by a dataset table producer or a query table producer, the <property namespace="HTTPProd" class="THTMLTableHeaderAttributes">Caption</property> property overrides the field name that would label the column by default.</para>
  1966.          </comments>
  1967.       </member>
  1968.       <member name="T:HTTPProd.THTMLTableRowAttributes">
  1969.          <summary>
  1970.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1971.                
  1972.                <class namespace="HTTPProd">THTMLTableRowAttributes</class> represents the display attributes of the row tag in an HTML table.</para>
  1973.          </summary>
  1974.          <comments>
  1975.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="HTTPProd">THTMLTableRowAttributes</class> to describe the desired appearance of a row of an HTML table. The properties of the <class namespace="HTTPProd">THTMLTableRowAttributes</class> object correspond to the options that can be added to the HTML row tag (TR). When the attributes of all the parts of the HTML table have been specified, the content producer creates the HTML commands to specify the table as described.</para>
  1976.          </comments>
  1977.       </member>
  1978.       <member name="T:HTTPProd.THTMLTableCellAttributes">
  1979.          <summary>
  1980.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1981.                
  1982.                <class namespace="HTTPProd">THTMLTableCellAttributes</class> represents the display attributes of an HTML table cell tag.</para>
  1983.          </summary>
  1984.          <comments>
  1985.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="HTTPProd">THTMLTableCellAttributes</class> to describe the desired appearance of a cell in an HTML table. The properties of the <class namespace="HTTPProd">THTMLTableCellAttributes</class> object correspond to the options that can be added to the HTML table data tag (TD). When the attributes of all the parts of the HTML table have been specified, an HTML producer object creates the HTML commands to specify the table as described.</para>
  1986.          </comments>
  1987.       </member>
  1988.       <member name="T:HTTPProd.TBasePageProducer">
  1989.          <summary>
  1990.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1991.                
  1992.                <class namespace="HTTPProd">TBasePageProducer</class> is a base class for objects that produce a string of HTML commands based on an input template.</para>
  1993.          </summary>
  1994.          <comments>
  1995.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not create instances of <class namespace="HTTPProd">TBasePageProducer</class>. Instead, use <class namespace="HTTPProd">TBasePageProducer</class> as a base class when defining a page producer. <class namespace="HTTPProd">TBasePageProducer</class> has two descendants, </para>
  1996.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TCustomPageProducer, which is the base class for page producers that produce content based primarily on the content of HTTP messages and an OnHTML event handler. Examples include TPageProducer and TDataSetPageProducer.</para>
  1997.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TComponentsPageProducer, which is the base class for page producers that assemble content from components that generate HTML. Examples include TAdapterPageProducer. </para>
  1998.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">A page producer is an object that converts an HTML template into a string of HTML commands which can be interpreted by a client application such as a Web browser. HTML templates include HTML commands and HTML-transparent tags that are replaced with customized content by the page producer.</para>
  1999.          </comments>
  2000.       </member>
  2001.       <member name="M:HTTPProd.HTTPProd.Content">
  2002.          <summary>
  2003.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the content produced by the content producer.</para>
  2004.          </summary>
  2005.          <comments>
  2006.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPProd" class="TBasePageProducer">Content</method> to retrieve the content for using in an HTTP response message. <method namespace="HTTPProd" class="TBasePageProducer">TBasePageProducer</method> attempts to locate a default template and uses that to generate the resulting content.</para>
  2007.          </comments>
  2008.       </member>
  2009.       <member name="M:HTTPProd.HTTPProd.ContentFromStream">
  2010.          <summary>
  2011.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the content produced in response to input read from a stream.</para>
  2012.          </summary>
  2013.          <comments>
  2014.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPProd" class="TBasePageProducer">ContentFromStream</method> to retrieve the content produced by the content producer based on the information provided by the Stream parameter.</para>
  2015.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When the ScriptEngine property is assigned, the page producer generates its content using a special script-producer component. When ScriptEngine is not assigned, the page producer uses only the OnHTMLTag event, plus any other built-in translations provided by a descendant class. </para>
  2016.          </comments>
  2017.       </member>
  2018.       <member name="M:HTTPProd.HTTPProd.ContentFromString">
  2019.          <summary>
  2020.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the content produced in response to an input string.</para>
  2021.          </summary>
  2022.          <comments>
  2023.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPProd" class="TBasePageProducer">ContentFromString</method> to retrieve the content produced by the content producer based on the information provided by the S parameter. </para>
  2024.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When the ScriptEngine property is assigned, the page producer generates its content using a special script-producer component. When ScriptEngine is not assigned, the page producer uses only the OnHTMLTag event, plus any other built-in translations provided by a descendant class. </para>
  2025.          </comments>
  2026.       </member>
  2027.       <member name="M:HTTPProd.HTTPProd.Create">
  2028.          <summary>
  2029.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2030.                      
  2031.                <method namespace="HTTPProd" class="TBasePageProducer">Create</method>s an instance of <method namespace="HTTPProd" class="TBasePageProducer">TBasePageProducer</method>.</para>
  2032.          </summary>
  2033.          <comments>
  2034.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPProd" class="TBasePageProducer">Create</method> to create and initialize an instance of <method namespace="HTTPProd" class="TBasePageProducer">TBasePageProducer</method>.</para>
  2035.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AOwner is a component, typically a Web module, that is responsible for freeing the page producer.</para>
  2036.          </comments>
  2037.       </member>
  2038.       <member name="P:HTTPProd.HTTPProd.WebModuleContext">
  2039.          <summary>
  2040.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the Web module context object.</para>
  2041.          </summary>
  2042.          <comments>
  2043.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPProd" class="TBasePageProducer">WebModuleContext</property> to get access to the T<property namespace="HTTPProd" class="TBasePageProducer">WebModuleContext</property> object. The T<property namespace="HTTPProd" class="TBasePageProducer">WebModuleContext</property> object maintains a list of named variables that the producer uses when translating HTML-transparent tags.</para>
  2044.          </comments>
  2045.       </member>
  2046.       <member name="P:HTTPProd.HTTPProd.StripParamQuotes">
  2047.          <summary>
  2048.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies whether to strip quotation marks when extracting the parameters from an HTML-transparent tag.</para>
  2049.          </summary>
  2050.          <comments>
  2051.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPProd" class="TBasePageProducer">StripParamQuotes</property> to indicate whether the page producer should strip quotation marks from the parameters of HTML-transparent tags before handling the tags. By setting <property namespace="HTTPProd" class="TBasePageProducer">StripParamQuotes</property> to true, the page producer compensates for HTML editors that automatically insert quotation marks around the values of tag options.</para>
  2052.          </comments>
  2053.       </member>
  2054.       <member name="P:HTTPProd.HTTPProd.ScriptEngine">
  2055.          <summary>
  2056.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Names the script engine that generates or interprets script embedded in the documents that this producer creates.</para>
  2057.          </summary>
  2058.          <comments>
  2059.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2060.                      
  2061.                <property namespace="HTTPProd" class="TBasePageProducer">ScriptEngine</property> indicates the scripting language that the producer uses in its generated documents. For example, if the producer generates code that includes jscript, the value of <property namespace="HTTPProd" class="TBasePageProducer">ScriptEngine</property> is 'JSCRIPT'.</para>
  2062.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When <property namespace="HTTPProd" class="TBasePageProducer">ScriptEngine</property> is defined, the page producer generates its content using a special script-producer component. When <property namespace="HTTPProd" class="TBasePageProducer">ScriptEngine</property> is not defined, the page producer uses only the OnHTMLTag event, plus any other built-in translations provided by a descendant class. </para>
  2063.          </comments>
  2064.       </member>
  2065.       <member name="E:HTTPProd.HTTPProd.OnHTMLTag">
  2066.          <summary>
  2067.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs when the page producer needs to interpret the value of an HTML-transparent tag in the HTML template.</para>
  2068.          </summary>
  2069.          <comments>
  2070.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="HTTPProd" class="TBasePageProducer">OnHTMLTag</event> event handler to convert an HTML-transparent tag into the corresponding HTML commands that can be interpreted by a Web browser. If an <event namespace="HTTPProd" class="TBasePageProducer">OnHTMLTag</event> event is not supplied, the HTML-transparent tags in the HTML template will be replaced by empty strings.</para>
  2071.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2072.                      
  2073.                <para>The sequence of HTML that the event handler produces for an HTML-transparent tag can contain HTML-transparent tags for another page producer to convert. For example, one page producer might have a template that represents the format of the final HTTP response. It could read the HTTP request and for each section in the request assemble a set of HTML-transparent tags with parameters based on the request. Another page producer might take the content of the first page producer, and interpret those parameters.</para>
  2074.                   
  2075.             </note>
  2076.          </comments>
  2077.       </member>
  2078.       <member name="T:HTTPProd.TCustomPageProducer">
  2079.          <summary>
  2080.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2081.                
  2082.                <class namespace="HTTPProd">TCustomPageProducer</class> is the base class for objects that produce a string of HTML commands based on an input template.</para>
  2083.          </summary>
  2084.          <comments>
  2085.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="HTTPProd">TCustomPageProducer</class> as a base class when defining an object that converts an HTML template into a string of HTML commands which can be interpreted by a client application such as a Web browser. HTML templates include HTML commands and HTML-transparent tags that are replaced with customized content by the page producer.</para>
  2086.          </comments>
  2087.       </member>
  2088.       <member name="M:HTTPProd.HTTPProd.Create">
  2089.          <summary>
  2090.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2091.                      
  2092.                <method namespace="HTTPProd" class="TCustomPageProducer">Create</method>s an instance of <method namespace="HTTPProd" class="TCustomPageProducer">TCustomPageProducer</method>.</para>
  2093.          </summary>
  2094.          <comments>
  2095.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPProd" class="TCustomPageProducer">Create</method> to create and initialize an instance of <method namespace="HTTPProd" class="TCustomPageProducer">TCustomPageProducer</method>.</para>
  2096.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">After calling the inherited constructor, <method namespace="HTTPProd" class="TCustomPageProducer">Create</method> allocates the TStrings object that implements the HTMLDoc property.</para>
  2097.          </comments>
  2098.       </member>
  2099.       <member name="M:HTTPProd.HTTPProd.Destroy">
  2100.          <summary>
  2101.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2102.                      
  2103.                <method namespace="HTTPProd" class="TCustomPageProducer">Destroy</method>s an instance of <method namespace="HTTPProd" class="TCustomPageProducer">TCustomPageProducer</method>.</para>
  2104.          </summary>
  2105.          <comments>
  2106.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not call <method namespace="HTTPProd" class="TCustomPageProducer">Destroy</method> directly in an application. Instead, call Free. Free checks that the page producer reference is not nil, and only then calls <method namespace="HTTPProd" class="TCustomPageProducer">Destroy</method>.</para>
  2107.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2108.                      
  2109.                <method namespace="HTTPProd" class="TCustomPageProducer">Destroy</method> frees the TStrings object implements the HTMLDoc property before calling the inherited destructor.</para>
  2110.          </comments>
  2111.       </member>
  2112.       <member name="P:HTTPProd.HTTPProd.HTMLDoc">
  2113.          <summary>
  2114.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the HTML template used to generate the value returned by the Content method.</para>
  2115.          </summary>
  2116.          <comments>
  2117.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPProd" class="TCustomPageProducer">HTMLDoc</property> to a set of strings that make up the HTML template. Each string is a sequence of one or more HTML commands or HTML-transparent tags. An HTML-transparent tag has the form</para>
  2118.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><#TagName Param1=Value1 Param2=Value2 ...></codeBlock>
  2119.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">A pound sign (#) immediately follows the opening angle bracket (<) with no spaces separating it from the angle bracket. The pound sign identifies the string to the page producer as an HTML-transparent tag. The tag name immediately follows the pound sign with no spaces separating it from the pound sign. The page producer converts the entire HTML-transparent tag into true HTML commands based on the value of the tag name. Following the tag name, the HTML-transparent tag can optionally include parameters that specify details of the conversion to be performed. Each parameter is of the form ParamName=Value, where there is no space between the parameter name, the equals symbol (=) and the value. Each parameter is delimited by white space.</para>
  2120.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The angle brackets (< >) make the tag transparent to HTML browsers that do not recognize the #TagName construct.</para>
  2121.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2122.                      
  2123.                <para>Setting <property namespace="HTTPProd" class="TCustomPageProducer">HTMLDoc</property> clears the HTMLFile property.</para>
  2124.                   
  2125.             </note>
  2126.          </comments>
  2127.       </member>
  2128.       <member name="P:HTTPProd.HTTPProd.HTMLFile">
  2129.          <summary>
  2130.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the name of a file that contains the HTML template used to generate the value returned by the Content method.</para>
  2131.          </summary>
  2132.          <comments>
  2133.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPProd" class="TCustomPageProducer">HTMLFile</property> to the name of the file that contains an HTML template. The HTML template is a sequence of HTML commands and HTML-transparent tags. An HTML-transparent tag has the form</para>
  2134.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><#TagName Param1=Value1 Param2=Value2 ...></codeBlock>
  2135.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">A pound sign (#) immediately follows the opening angle bracket (<) with no spaces separating it from the angle bracket. The pound sign identifies the string to the page producer as an HTML-transparent tag. The tag name immediately follows the pound sign with no spaces separating it from the pound sign. The page producer converts the entire HTML-transparent tag into true HTML commands based on the value of the tag name. Following the tag name, the HTML-transparent tag can optionally include parameters that specify details of the conversion to be performed. Each parameter is of the form ParamName=Value, where there is no space between the parameter name, the equals symbol (=) and the value. Each parameter is delimited by white space.</para>
  2136.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The angle brackets (< >) make the tag transparent to HTML browsers that do not recognize the #TagName construct.</para>
  2137.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2138.                      
  2139.                <para>Setting <property namespace="HTTPProd" class="TCustomPageProducer">HTMLFile</property> clears the HTMLDoc property.</para>
  2140.                   
  2141.             </note>
  2142.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2143.                      
  2144.                <para>When distributing applications that contain page producers which use the <property namespace="HTTPProd" class="TCustomPageProducer">HTMLFile</property> property, be sure to distribute the file along with the application. Also, be sure that the value of <property namespace="HTTPProd" class="TCustomPageProducer">HTMLFile</property> does not include a hard-coded path name that will not be available on the user's disk.</para>
  2145.                   
  2146.             </note>
  2147.          </comments>
  2148.       </member>
  2149.       <member name="T:HTTPProd.TPageProducer">
  2150.          <summary>
  2151.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2152.                
  2153.                <class namespace="HTTPProd">TPageProducer</class> produces a string of HTML commands based on an input template.</para>
  2154.          </summary>
  2155.          <comments>
  2156.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="HTTPProd">TPageProducer</class> to convert an HTML template into a string of HTML commands that can be interpreted by a client application such as a Web browser. In Web Broker applications, HTML templates include HTML commands and HTML-transparent tags that are replaced with customized content by the OnHTMLTag event. WebSnap application page templates often include server-side scripting (such as JScript or JavaScript) to dynamically generate content.</para>
  2157.          </comments>
  2158.       </member>
  2159.       <member name="T:HTTPProd.TAbstractScriptProducer">
  2160.          <summary>
  2161.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2162.                
  2163.                <varIncomplete/>
  2164.             
  2165.             </para>
  2166.          </summary>
  2167.          <comments>
  2168.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2169.                
  2170.                <varIncomplete/>
  2171.             
  2172.             </para>
  2173.          </comments>
  2174.       </member>
  2175.       <member name="M:HTTPProd.HTTPProd.Create">
  2176.          <summary>
  2177.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2178.                      
  2179.                <condition language="CBuilder">Constructs an object and initializes its data before the object is first used.</condition>
  2180.                   
  2181.             </para>
  2182.          </summary>
  2183.          <comments>
  2184.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2185.                      
  2186.                <condition language="CBuilder">Do not create instances of <method namespace="HTTPProd" class="TAbstractScriptProducer">TAbstractScriptProducer</method>. Instead, construct descendants of <method namespace="HTTPProd" class="TAbstractScriptProducer">TAbstractScriptProducer</method> using the new keyword, passing any arguments for the descendant object's constructor.</condition>
  2187.                   
  2188.             </para>
  2189.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2190.                      
  2191.                <condition language="CBuilder">Descendant objects usually define a constructor that creates the particular kind of object and initializes its data.</condition>
  2192.                   
  2193.             </para>
  2194.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2195.                      
  2196.                <para>
  2197.                         
  2198.                   <condition language="CBuilder">If an exception escapes from a constructor, the object's destructor is called to clean up the failed instance.</condition>
  2199.                      
  2200.                </para>
  2201.                   
  2202.             </note>
  2203.          </comments>
  2204.       </member>
  2205.       <member name="T:HTTPApp.TWebRequest">
  2206.          <summary>
  2207.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2208.                
  2209.                <class namespace="HTTPApp">TWebRequest</class> is the base class for all objects that represent client request information that is passed to a Web server application.</para>
  2210.          </summary>
  2211.          <comments>
  2212.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use a descendant of <class namespace="HTTPApp">TWebRequest</class> to interpret an HTTP request message.</para>
  2213.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Web application objects create <class namespace="HTTPApp">TWebRequest</class> objects to capture client requests. The properties of the <class namespace="HTTPApp">TWebRequest</class> objects are obtained from the HTTP request message. The Web application uses <class namespace="HTTPApp">TWebRequest</class> objects to create corresponding TWebResponse objects. The TWebDispatcher for the application then invokes the TWebActionItem that is associated with the PathInfo of the <class namespace="HTTPApp">TWebRequest</class> object.</para>
  2214.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2215.                
  2216.                <class namespace="HTTPApp">TWebRequest</class> has several descendants which represent client requests for different types of Web server applications. These descendants are</para>
  2217.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TApacheRequest objects for Apache server applications.</para>
  2218.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TCGIRequest objects for CGI server applications.</para>
  2219.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2220.                
  2221.                <condition os="Windows">TISAPIRequest objects for DLLs that respond to the ISAPI or NSAPI servers (Windows only).</condition>
  2222.             
  2223.             </para>
  2224.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2225.                
  2226.                <condition os="Windows">TWinCGIRequest objects for Windows-based CGI servers (Windows only).</condition>
  2227.             
  2228.             </para>
  2229.          </comments>
  2230.       </member>
  2231.       <member name="M:HTTPApp.HTTPApp.ReadClient">
  2232.          <summary>
  2233.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the abstract (pure virtual) prototype for a method to read from the HTTP request into a buffer.</para>
  2234.          </summary>
  2235.          <comments>
  2236.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Descendants of <method namespace="HTTPApp" class="TWebRequest">TWebRequest</method> implement <method namespace="HTTPApp" class="TWebRequest">ReadClient</method>. <method namespace="HTTPApp" class="TWebRequest">ReadClient</method> is used to read content information from the HTTP request. Use <method namespace="HTTPApp" class="TWebRequest">ReadClient</method> to get the next chunk of information when the content of the request message is too large for the Content property. </para>
  2237.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use Buffer to provide a buffer to contain the content information. Use Count to specify the number of bytes to read. <method namespace="HTTPApp" class="TWebRequest">ReadClient</method> returns the number of bytes actually read.</para>
  2238.          </comments>
  2239.       </member>
  2240.       <member name="M:HTTPApp.HTTPApp.ReadString">
  2241.          <summary>
  2242.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the abstract (pure virtual) prototype for a method to read Count bytes from the HTTP request into a string.</para>
  2243.          </summary>
  2244.          <comments>
  2245.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Descendants of <method namespace="HTTPApp" class="TWebRequest">TWebRequest</method> implement <method namespace="HTTPApp" class="TWebRequest">ReadString</method>. <method namespace="HTTPApp" class="TWebRequest">ReadString</method> is used to load content information from the HTTP request into a string. Use <method namespace="HTTPApp" class="TWebRequest">ReadString</method> to get the next chunk of information when the content of the request message is too large for the Content property.</para>
  2246.          </comments>
  2247.       </member>
  2248.       <member name="M:HTTPApp.HTTPApp.TranslateURI">
  2249.          <summary>
  2250.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the abstract (pure virtual) prototype for a method to translate a Uniform Resource Identifier (URI) into an internal representation of a location on the server.</para>
  2251.          </summary>
  2252.          <comments>
  2253.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Descendants of <method namespace="HTTPApp" class="TWebRequest">TWebRequest</method> implement <method namespace="HTTPApp" class="TWebRequest">TranslateURI</method>. <method namespace="HTTPApp" class="TWebRequest">TranslateURI</method> is used to translate the URI specified in a client request into a format that can be used by the server application. <method namespace="HTTPApp" class="TWebRequest">TranslateURI</method> is not relevant to CGI applications. </para>
  2254.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2255.                      
  2256.                <para>
  2257.                         
  2258.                   <condition os="Windows">On Windows, the internal format varies, depending on whether the server application is an ISAPI or NSAPI application.</condition>
  2259.                      
  2260.                </para>
  2261.                   
  2262.             </note>
  2263.          </comments>
  2264.       </member>
  2265.       <member name="M:HTTPApp.HTTPApp.WriteClient">
  2266.          <summary>
  2267.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the abstract (pure virtual) prototype for a method to write Count bytes from Buffer back to the HTTP client.</para>
  2268.          </summary>
  2269.          <comments>
  2270.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Descendants of <method namespace="HTTPApp" class="TWebRequest">TWebRequest</method> implement <method namespace="HTTPApp" class="TWebRequest">WriteClient</method>. <method namespace="HTTPApp" class="TWebRequest">WriteClient</method> is used by TWebResponse to send the contents of a response to the Web client.</para>
  2271.          </comments>
  2272.       </member>
  2273.       <member name="M:HTTPApp.HTTPApp.WriteString">
  2274.          <summary>
  2275.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the abstract (pure virtual) prototype for a method to write the string AString back to the HTTP client.</para>
  2276.          </summary>
  2277.          <comments>
  2278.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Descendants of <method namespace="HTTPApp" class="TWebRequest">TWebRequest</method> implement <method namespace="HTTPApp" class="TWebRequest">WriteString</method>. <method namespace="HTTPApp" class="TWebRequest">WriteString</method> is used by TWebResponse to send the contents of a response to the Web client.</para>
  2279.          </comments>
  2280.       </member>
  2281.       <member name="M:HTTPApp.HTTPApp.WriteHeaders">
  2282.          <summary>
  2283.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the abstract (pure virtual) prototype for a method to write an HTTP header string.</para>
  2284.          </summary>
  2285.          <comments>
  2286.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="HTTPApp" class="TWebRequest">WriteHeaders</method> to write an HTTP header string.</para>
  2287.          </comments>
  2288.       </member>
  2289.       <member name="M:HTTPApp.HTTPApp.GetFieldByName">
  2290.          <summary>
  2291.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the abstract (pure virtual) prototype for a method that returns the value of the HTTP header variable specified by the Name parameter.</para>
  2292.          </summary>
  2293.          <comments>
  2294.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Descendants of <method namespace="HTTPApp" class="TWebRequest">TWebRequest</method> implement <method namespace="HTTPApp" class="TWebRequest">GetFieldByName</method> to provide access to arbitrary header fields in the HTTP request message. Use <method namespace="HTTPApp" class="TWebRequest">GetFieldByName</method> to read the value of an HTTP header variable that is not surfaced as one of the properties of <method namespace="HTTPApp" class="TWebRequest">TWebRequest</method>. For information on possible HTTP request header variables, see the current Internet standards documents.</para>
  2295.          </comments>
  2296.       </member>
  2297.       <member name="M:HTTPApp.HTTPApp.Create">
  2298.          <summary>
  2299.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2300.                      
  2301.                <method namespace="HTTPApp" class="TWebRequest">Create</method>s an instance of <method namespace="HTTPApp" class="TWebRequest">TWebRequest</method>.</para>
  2302.          </summary>
  2303.          <comments>
  2304.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications shouldn't need to call <method namespace="HTTPApp" class="TWebRequest">Create</method> to instantiate a request object. The TWebApplication object creates a <method namespace="HTTPApp" class="TWebRequest">TWebRequest</method> object whenever it receives a client request.</para>
  2305.          </comments>
  2306.       </member>
  2307.       <member name="M:HTTPApp.HTTPApp.UpdateMethodType">
  2308.          <summary>
  2309.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the abstract prototype for a method to write a pure virtual method for updating the client method type.</para>
  2310.          </summary>
  2311.          <comments>
  2312.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="HTTPApp" class="TWebRequest">UpdateMethodType</method> to update the type of response that is requested by the Web client.</para>
  2313.          </comments>
  2314.       </member>
  2315.       <member name="M:HTTPApp.HTTPApp.ExtractFields">
  2316.          <summary>
  2317.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Parses a multi-valued string into its constituent fields.</para>
  2318.          </summary>
  2319.          <comments>
  2320.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TWebRequest">ExtractFields</method> to parse a multi-valued HTTP header into separate strings for each value. For example, if the separator character of the UserAgent property is known, <method namespace="HTTPApp" class="TWebRequest">ExtractFields</method> can parse this property into separate UserAgent values.</para>
  2321.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Separators is a set of characters that are used to separate individual values within the multi-valued string. WhiteSpace is a set of characters that are to be ignored when parsing the string. Content is the multi-valued string to be parsed. Strings is the TStrings object that receives the individual values that are parsed from Content.</para>
  2322.          </comments>
  2323.       </member>
  2324.       <member name="M:HTTPApp.HTTPApp.ExtractContentFields">
  2325.          <summary>
  2326.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Parses the Content property into its constituent fields.</para>
  2327.          </summary>
  2328.          <comments>
  2329.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TWebRequest">ExtractContentFields</method> to fill the Strings parameter with the individual fields in the Content property. <method namespace="HTTPApp" class="TWebRequest">ExtractContentFields</method> assumes that fields are separated by ampersands (&). This is the format used when the MethodType is mtPost. If the Content property is not assigned, <method namespace="HTTPApp" class="TWebRequest">ExtractContentFields</method> does nothing.</para>
  2330.          </comments>
  2331.       </member>
  2332.       <member name="M:HTTPApp.HTTPApp.ExtractCookieFields">
  2333.          <summary>
  2334.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Parses the Cookie property into its constituent fields.</para>
  2335.          </summary>
  2336.          <comments>
  2337.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TWebRequest">ExtractCookieFields</method> to fill the Strings parameter with the individual fields in the Cookie property. <method namespace="HTTPApp" class="TWebRequest">ExtractCookieFields</method> assumes that fields are separated by semicolons. If the Cookie property is not assigned, <method namespace="HTTPApp" class="TWebRequest">ExtractCookieFields</method> does nothing.</para>
  2338.          </comments>
  2339.       </member>
  2340.       <member name="M:HTTPApp.HTTPApp.ExtractQueryFields">
  2341.          <summary>
  2342.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Parses the Query property into its constituent fields.</para>
  2343.          </summary>
  2344.          <comments>
  2345.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TWebRequest">ExtractQueryFields</method> to fill the Strings parameter with the individual fields in the Query property. <method namespace="HTTPApp" class="TWebRequest">ExtractQueryFields</method> assumes that fields are separated by ampersands (&). If the Query property is not assigned, <method namespace="HTTPApp" class="TWebRequest">ExtractQueryFields</method> does nothing.</para>
  2346.          </comments>
  2347.       </member>
  2348.       <member name="M:HTTPApp.HTTPApp.Destroy">
  2349.          <summary>
  2350.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2351.                      
  2352.                <method namespace="HTTPApp" class="TWebRequest">Destroy</method>s an instance of <method namespace="HTTPApp" class="TWebRequest">TWebRequest</method>.</para>
  2353.          </summary>
  2354.          <comments>
  2355.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not call <method namespace="HTTPApp" class="TWebRequest">Destroy</method>. When the request message is fully handled, TWebApplication destroys the request object by calling its Free method.</para>
  2356.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2357.                      
  2358.                <method namespace="HTTPApp" class="TWebRequest">Destroy</method> frees the TStrings objects used to represent the ContentFields, CookieFields, and QueryFields properties.</para>
  2359.          </comments>
  2360.       </member>
  2361.       <member name="P:HTTPApp.HTTPApp.ContentParser">
  2362.          <summary>
  2363.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Refers to the object's content parser object.</para>
  2364.          </summary>
  2365.          <comments>
  2366.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">ContentParser</property> to locate the <property namespace="HTTPApp" class="TWebRequest">TWebRequest</property> instance's TAbstract<property namespace="HTTPApp" class="TWebRequest">ContentParser</property> object. The TAbstract<property namespace="HTTPApp" class="TWebRequest">ContentParser</property> is responsible for parsing the HTTP request.</para>
  2367.          </comments>
  2368.       </member>
  2369.       <member name="P:HTTPApp.HTTPApp.ContentFields">
  2370.          <summary>
  2371.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the parsed content of a POST request message.</para>
  2372.          </summary>
  2373.          <comments>
  2374.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebRequest">ContentFields</property> to read the fields of an HTTP request message when the MethodType is mtPost. The Content of the HTTP request is parsed, separating into fields at the ampersand character. </para>
  2375.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Each field appears as a separate string in the <property namespace="HTTPApp" class="TWebRequest">ContentFields</property> list with the form Name=Value. As a TStrings object, <property namespace="HTTPApp" class="TWebRequest">ContentFields</property> allows applications to manipulate the individual fields by name or value.</para>
  2376.          </comments>
  2377.       </member>
  2378.       <member name="P:HTTPApp.HTTPApp.CookieFields">
  2379.          <summary>
  2380.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the parsed contents of the Cookie header of an HTTP request message.</para>
  2381.          </summary>
  2382.          <comments>
  2383.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebRequest">CookieFields</property> to work with individual "cookie" strings provided by the Web client request. The Cookie property is parsed into separate fields by separating into substrings whenever a semicolon is encountered.</para>
  2384.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Cookie strings are used to track state information in a Web application. Each field appears as a separate string in the <property namespace="HTTPApp" class="TWebRequest">CookieFields</property> list with the form Name=Value. As a TStrings object, <property namespace="HTTPApp" class="TWebRequest">CookieFields</property> allows applications to manipulate the individual fields by name or value.</para>
  2385.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2386.                      
  2387.                <para>Applications can give state variables any name except one of the reserved cookie field names. See the Netscape documentation for a list of reserved cookie field names and their meanings.</para>
  2388.                   
  2389.             </note>
  2390.          </comments>
  2391.       </member>
  2392.       <member name="P:HTTPApp.HTTPApp.QueryFields">
  2393.          <summary>
  2394.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the parsed contents of the Query in the URL of the HTTP request message.</para>
  2395.          </summary>
  2396.          <comments>
  2397.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebRequest">QueryFields</property> to work with individual query values provided by the Web client request. The Query property is parsed into separate fields by separating into substrings whenever an ampersand is encountered.</para>
  2398.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Each query field appears as a separate string in the <property namespace="HTTPApp" class="TWebRequest">QueryFields</property> list with the form Name=Value. As a TStrings object, <property namespace="HTTPApp" class="TWebRequest">QueryFields</property> allows applications to manipulate the individual fields by name or value.</para>
  2399.          </comments>
  2400.       </member>
  2401.       <member name="P:HTTPApp.HTTPApp.ProtocolVersion">
  2402.          <summary>
  2403.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the version number of the HTTP protocol specified in the initial header of the HTTP request message.</para>
  2404.          </summary>
  2405.          <comments>
  2406.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebRequest">ProtocolVersion</property> to determine the protocol used by the Web client when generating the HTTP request message. </para>
  2407.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Some properties of the HTTP request may be interpreted differently depending on the <property namespace="HTTPApp" class="TWebRequest">ProtocolVersion</property>. For example, if <property namespace="HTTPApp" class="TWebRequest">ProtocolVersion</property> is 1.0, then the connection should not be considered persistent, even if the Connection property does not specify the close option.</para>
  2408.          </comments>
  2409.       </member>
  2410.       <member name="P:HTTPApp.HTTPApp.URL">
  2411.          <summary>
  2412.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the Uniform Resource Identifier (URI) specified by the HTTP request message to identify the target of the request.</para>
  2413.          </summary>
  2414.          <comments>
  2415.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <property namespace="HTTPApp" class="TWebRequest">URL</property> property to identify the resource the Web client identifies as the target of the request message. <property namespace="HTTPApp" class="TWebRequest">URL</property> may be an HTML page to return, a resource to be created or deleted, or an object that provides some other service for the Web client. </para>
  2416.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <property namespace="HTTPApp" class="TWebRequest">TWebRequest</property> object parses the <property namespace="HTTPApp" class="TWebRequest">URL</property> into its constituent parts, yielding the Host, ScriptName, PathInfo, and Query properties.</para>
  2417.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2418.                      
  2419.                <para>Usually the <property namespace="HTTPApp" class="TWebRequest">URL</property> property is a Uniform Resource Locator (<property namespace="HTTPApp" class="TWebRequest">URL</property>) that can be parsed into host, script, path, and query portions. However, it is possible for HTTP request messages to specify the target in more general terms, as a Uniform Resource Identifier (URI).</para>
  2420.                   
  2421.             </note>
  2422.          </comments>
  2423.       </member>
  2424.       <member name="P:HTTPApp.HTTPApp.Query">
  2425.          <summary>
  2426.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the value of the query information (if any) of the URL specified in the HTTP request message.</para>
  2427.          </summary>
  2428.          <comments>
  2429.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">Query</property> to determine the details of a query specified in the URL of the Web client request. For example, given this URL:</para>
  2430.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">http://www.TSite.com/art/gallery.cgi/mammals?animal=dog&color=black</codeBlock>
  2431.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">the <property namespace="HTTPApp" class="TWebRequest">Query</property> portion is</para>
  2432.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">animal=dog&color=black</codeBlock>
  2433.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2434.                      
  2435.                <property namespace="HTTPApp" class="TWebRequest">Query</property> is the unparsed query portion of the URL. The query may include multiple fields separated by ampersands. Use the <property namespace="HTTPApp" class="TWebRequest">Query</property>Fields property to work with the query on a field-by-field basis.</para>
  2436.          </comments>
  2437.       </member>
  2438.       <member name="P:HTTPApp.HTTPApp.PathInfo">
  2439.          <summary>
  2440.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the path information (if any) of the URL specified in the HTTP request message.</para>
  2441.          </summary>
  2442.          <comments>
  2443.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">PathInfo</property> to determine the path on the server machine where the target of the request is found. For example, given this URL:</para>
  2444.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">http://www.TSite.com/art/gallery.cgi/mammals?animal=dog&color=black</codeBlock>
  2445.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">the <property namespace="HTTPApp" class="TWebRequest">PathInfo</property> portion is</para>
  2446.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">/mammals</codeBlock>
  2447.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The TWebDispatcher object uses the <property namespace="HTTPApp" class="TWebRequest">PathInfo</property> to identify the appropriate TWebActionItem for servicing the request message.</para>
  2448.          </comments>
  2449.       </member>
  2450.       <member name="P:HTTPApp.HTTPApp.PathTranslated">
  2451.          <summary>
  2452.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents a translation of the PathInfo property to a fully qualified path on the Web server.</para>
  2453.          </summary>
  2454.          <comments>
  2455.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebRequest">PathTranslated</property> to refer to the location of the target of the request in an HTTP response.</para>
  2456.          </comments>
  2457.       </member>
  2458.       <member name="P:HTTPApp.HTTPApp.Authorization">
  2459.          <summary>
  2460.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the <property namespace="HTTPApp" class="TWebRequest">Authorization</property> header of the HTTP request message.</para>
  2461.          </summary>
  2462.          <comments>
  2463.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">Authorization</property> to check whether the client that sent the request message has provided the correct authentication information. <property namespace="HTTPApp" class="TWebRequest">Authorization</property> allows the Web application to provided limited access to the resource specified by the URL property.</para>
  2464.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For more information about HTTP authentication schemes, see the Internet standards documentation.</para>
  2465.          </comments>
  2466.       </member>
  2467.       <member name="P:HTTPApp.HTTPApp.CacheControl">
  2468.          <summary>
  2469.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the Cache-Control header of the HTTP request message.</para>
  2470.          </summary>
  2471.          <comments>
  2472.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">CacheControl</property> to determine any Web client directives that must be obeyed by all caching mechanisms along the request/response chain. The <property namespace="HTTPApp" class="TWebRequest">CacheControl</property> directives of the HTTP request need not apply to the corresponding HTTP response. </para>
  2473.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The HTTP 1.1 standard defines the following directives for <property namespace="HTTPApp" class="TWebRequest">CacheControl</property>:</para>
  2474.             <table xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2475.                      
  2476.                <tr>
  2477.                         
  2478.                   <th>Value</th>
  2479.                         
  2480.                   <th>Meaning</th>
  2481.                      
  2482.                </tr>
  2483.                      
  2484.                <tr>
  2485.                         
  2486.                   <td>
  2487.                            
  2488.                      <para>no-cache</para>
  2489.                         
  2490.                   </td>
  2491.                         
  2492.                   <td>
  2493.                            
  2494.                      <para>The request may not be cached. The Web server validates the request before the TWebRequest object is created.</para>
  2495.                         
  2496.                   </td>
  2497.                      
  2498.                </tr>
  2499.                      
  2500.                <tr>
  2501.                         
  2502.                   <td>
  2503.                            
  2504.                      <para>no-store</para>
  2505.                         
  2506.                   </td>
  2507.                         
  2508.                   <td>
  2509.                            
  2510.                      <para>The request contains sensitive information and may not be stored on any permanent medium such as a backup tape. If the request is stored temporarily in a file, the file must be deleted.</para>
  2511.                         
  2512.                   </td>
  2513.                      
  2514.                </tr>
  2515.                      
  2516.                <tr>
  2517.                         
  2518.                   <td>
  2519.                            
  2520.                      <para>max-age=ss</para>
  2521.                         
  2522.                   </td>
  2523.                         
  2524.                   <td>
  2525.                            
  2526.                      <para>The request is considered invalid if it is older than ss seconds. This directive takes precedence over the Expires property, even if Expires is more restrictive. Invalid requests are validated by the Web server before the TWebRequest object is created.</para>
  2527.                         
  2528.                   </td>
  2529.                      
  2530.                </tr>
  2531.                      
  2532.                <tr>
  2533.                         
  2534.                   <td>
  2535.                            
  2536.                      <para>max-stale or max-stale=ss</para>
  2537.                         
  2538.                   </td>
  2539.                         
  2540.                   <td>
  2541.                            
  2542.                      <para>The client is willing to accept a response that has exceeded its expiration time. The max-stale directive can optionally specify the number of seconds by which the response can exceed its expiration time.</para>
  2543.                         
  2544.                   </td>
  2545.                      
  2546.                </tr>
  2547.                      
  2548.                <tr>
  2549.                         
  2550.                   <td>
  2551.                            
  2552.                      <para>min-fresh=ss</para>
  2553.                         
  2554.                   </td>
  2555.                         
  2556.                   <td>
  2557.                            
  2558.                      <para>The client is not willing to accept a response that expires in less than ss seconds.</para>
  2559.                         
  2560.                   </td>
  2561.                      
  2562.                </tr>
  2563.                   
  2564.             </table>
  2565.          </comments>
  2566.       </member>
  2567.       <member name="P:HTTPApp.HTTPApp.Cookie">
  2568.          <summary>
  2569.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the <property namespace="HTTPApp" class="TWebRequest">Cookie</property> header of the HTTP request message.</para>
  2570.          </summary>
  2571.          <comments>
  2572.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebRequest">Cookie</property> to read the "cookie" strings provided in the Web client request. <property namespace="HTTPApp" class="TWebRequest">Cookie</property> strings are used to track state information in a Web application. <property namespace="HTTPApp" class="TWebRequest">Cookie</property> is the unparsed value of the <property namespace="HTTPApp" class="TWebRequest">Cookie</property> header. The <property namespace="HTTPApp" class="TWebRequest">Cookie</property> header can include multiple fields separated by semicolons. Use the <property namespace="HTTPApp" class="TWebRequest">Cookie</property>Fields property to work with the <property namespace="HTTPApp" class="TWebRequest">Cookie</property> header on a field-by-field basis.</para>
  2573.          </comments>
  2574.       </member>
  2575.       <member name="P:HTTPApp.HTTPApp.Date">
  2576.          <summary>
  2577.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the <property namespace="HTTPApp" class="TWebRequest">Date</property> header of the HTTP request message.</para>
  2578.          </summary>
  2579.          <comments>
  2580.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">Date</property> to determine the date and time at which the HTTP request message originated. <property namespace="HTTPApp" class="TWebRequest">Date</property> can be used to determine whether the Content of the request is still valid. The value of <property namespace="HTTPApp" class="TWebRequest">Date</property> is translated into local time as specified by the system clock from the time units set by the Web client.</para>
  2581.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For example, if an HTTP request message specifies a MethodType of mtPost, and <property namespace="HTTPApp" class="TWebRequest">Date</property> is older than the most recent values of the fields that are being posted, the server application may return a status code that indicates an error rather than overwriting more recent values.</para>
  2582.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2583.                      
  2584.                <property namespace="HTTPApp" class="TWebRequest">Date</property> is represented using the T<property namespace="HTTPApp" class="TWebRequest">Date</property>Time type. The integral part of a T<property namespace="HTTPApp" class="TWebRequest">Date</property>Time value is the number of days that have passed since Dec. 30 1899. The fractional part of a T<property namespace="HTTPApp" class="TWebRequest">Date</property>Time value is the fraction of a 24-hour day that has elapsed.</para>
  2585.          </comments>
  2586.       </member>
  2587.       <member name="P:HTTPApp.HTTPApp.Accept">
  2588.          <summary>
  2589.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the <property namespace="HTTPApp" class="TWebRequest">Accept</property> header of the HTTP request message.</para>
  2590.          </summary>
  2591.          <comments>
  2592.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">Accept</property> to determine the media types the Web client can accept in response to the request. Not every HTTP request message has an <property namespace="HTTPApp" class="TWebRequest">Accept</property> header. If the <property namespace="HTTPApp" class="TWebRequest">Accept</property> property is not set, then any media type is potentially acceptable in the response.</para>
  2593.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2594.                      
  2595.                <property namespace="HTTPApp" class="TWebRequest">Accept</property> headers usually indicate that the response should be limited to a small set of desired types. For example, a Web client requesting an audio response might produce a <property namespace="HTTPApp" class="TWebRequest">TWebRequest</property> object with <property namespace="HTTPApp" class="TWebRequest">Accept</property> set to the following string:</para>
  2596.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">audio/*; q=0.2, audio/basic</codeBlock>
  2597.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">This request indicates that the preferred response media type is audio/basic, but that any audio type is acceptable if it is the best available after an 80% markdown in quality.</para>
  2598.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For information on the format of <property namespace="HTTPApp" class="TWebRequest">Accept</property> headers, see the current Internet standards documentation.</para>
  2599.          </comments>
  2600.       </member>
  2601.       <member name="P:HTTPApp.HTTPApp.From">
  2602.          <summary>
  2603.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the <property namespace="HTTPApp" class="TWebRequest">From</property> header of the HTTP request message.</para>
  2604.          </summary>
  2605.          <comments>
  2606.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">From</property> to determine the Internet e-mail address of the human user for whom the Web client sent the HTTP request message. This value can be used for logging purposes, or to contact the originator of the request if problems occur.</para>
  2607.          </comments>
  2608.       </member>
  2609.       <member name="P:HTTPApp.HTTPApp.Host">
  2610.          <summary>
  2611.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the <property namespace="HTTPApp" class="TWebRequest">Host</property> header of the HTTP request message.</para>
  2612.          </summary>
  2613.          <comments>
  2614.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">Host</property> to determine the Internet host and port number of resource being requested. For example, if the client request specifies the following URL:</para>
  2615.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">http://www.TSite.com/art/gallery.cgi/mammals?animal=dog&color=black</codeBlock>
  2616.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The value of <property namespace="HTTPApp" class="TWebRequest">Host</property> would be </para>
  2617.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">www.TSite.com</codeBlock>
  2618.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The value of <property namespace="HTTPApp" class="TWebRequest">Host</property> can be used to differentiate between internally ambiguous URLs, such as the root "/" URL of a server for multiple host names on a single IP address.</para>
  2619.          </comments>
  2620.       </member>
  2621.       <member name="P:HTTPApp.HTTPApp.IfModifiedSince">
  2622.          <summary>
  2623.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the If-Modified-Since header of the HTTP request message.</para>
  2624.          </summary>
  2625.          <comments>
  2626.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">IfModifiedSince</property> on a request with a MethodType of mtGet to determine whether the request is conditional. If the information requested by the Web client was not modified since the time indicated by <property namespace="HTTPApp" class="TWebRequest">IfModifiedSince</property>, the response should be a not modified error rather than the information indicated by the URL property.</para>
  2627.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The value of <property namespace="HTTPApp" class="TWebRequest">IfModifiedSince</property> is given according to the local clock, not the clock of the Web client.</para>
  2628.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2629.                      
  2630.                <para>
  2631.                         
  2632.                   <condition os="Windows">On Windows, the value of the local clock is specified in the Windows Control Panel.</condition>
  2633.                      
  2634.                </para>
  2635.                   
  2636.             </note>
  2637.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2638.                      
  2639.                <property namespace="HTTPApp" class="TWebRequest">IfModifiedSince</property> is represented using the TDateTime type. The integral part of a TDateTime value is the number of days that have passed since Dec. 30, 1899. The fractional part of a TDateTime value is the fraction of a 24-hour day that has elapsed.</para>
  2640.          </comments>
  2641.       </member>
  2642.       <member name="P:HTTPApp.HTTPApp.Referer">
  2643.          <summary>
  2644.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the <property namespace="HTTPApp" class="TWebRequest">Referer</property> header of the HTTP request message.</para>
  2645.          </summary>
  2646.          <comments>
  2647.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">Referer</property> to determine the URI of the resource where the HTTP request message originated. <property namespace="HTTPApp" class="TWebRequest">Referer</property> allows the server application to generate back-links to the source of the request. If <property namespace="HTTPApp" class="TWebRequest">Referer</property> is a partial URI, it should be interpreted as a relative path to the URL property.</para>
  2648.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <property namespace="HTTPApp" class="TWebRequest">Referer</property> property is not set when the URL of the HTTP request was obtained from a source that does not have its own URI, such as input from the user keyboard.</para>
  2649.          </comments>
  2650.       </member>
  2651.       <member name="P:HTTPApp.HTTPApp.UserAgent">
  2652.          <summary>
  2653.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the User-Agent header of the HTTP request message.</para>
  2654.          </summary>
  2655.          <comments>
  2656.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">UserAgent</property> to obtain information about the user agent originating the client request. Use the <property namespace="HTTPApp" class="TWebRequest">UserAgent</property> information for statistical purposes, for tracing protocol violations, and for tailoring responses to known limitations of specific applications that generate client requests. The <property namespace="HTTPApp" class="TWebRequest">UserAgent</property> string contains one or more descriptors, in order of significance. Each descriptor gives the name of the product or application that generated the request, or a comment about the user agent.</para>
  2657.          </comments>
  2658.       </member>
  2659.       <member name="P:HTTPApp.HTTPApp.ContentEncoding">
  2660.          <summary>
  2661.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the Content-Encoding header of the HTTP request message.</para>
  2662.          </summary>
  2663.          <comments>
  2664.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">ContentEncoding</property> to determine what encoding mechanisms, if any, have been applied to the Content of the HTTP request. The encoding mechanisms are listed in the order in which the Web client applied them, separated by commas. Typically, <property namespace="HTTPApp" class="TWebRequest">ContentEncoding</property> indicates a compression method or an encoding scheme used to transfer extended ASCII characters over the net.</para>
  2665.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reverse the <property namespace="HTTPApp" class="TWebRequest">ContentEncoding</property> mechanisms to decode the Content into the form indicated by the ContentType property.</para>
  2666.          </comments>
  2667.       </member>
  2668.       <member name="P:HTTPApp.HTTPApp.ContentType">
  2669.          <summary>
  2670.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the Content-Type header of the HTTP request message.</para>
  2671.          </summary>
  2672.          <comments>
  2673.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">ContentType</property> to determine the media type of the Content of the HTTP request message. The <property namespace="HTTPApp" class="TWebRequest">ContentType</property> is a string of the form Type/SubType.</para>
  2674.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Most HTTP requests do not require any Content at all. For most requests with a Method that requires a value for Content, the <property namespace="HTTPApp" class="TWebRequest">ContentType</property> is text/html. However, HTTP requests for server-specific values of Method can use any media type appropriate to the request.</para>
  2675.          </comments>
  2676.       </member>
  2677.       <member name="P:HTTPApp.HTTPApp.ContentLength">
  2678.          <summary>
  2679.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the Content-Length header of the HTTP request message.</para>
  2680.          </summary>
  2681.          <comments>
  2682.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read the <property namespace="HTTPApp" class="TWebRequest">ContentLength</property> property to determine the length of the Content property. <property namespace="HTTPApp" class="TWebRequest">ContentLength</property> allows an application to determine the end of the Content property when the ContentType is not text/html. A <property namespace="HTTPApp" class="TWebRequest">ContentLength</property> of 0 indicates that the length of the Content property is not determined, either because the request does not include any Content, or because the Web client did not know the length. </para>
  2683.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2684.                      
  2685.                <para>The length of the Content may be less than <property namespace="HTTPApp" class="TWebRequest">ContentLength</property> when the Content is passed using chunked transfer coding.</para>
  2686.                   
  2687.             </note>
  2688.          </comments>
  2689.       </member>
  2690.       <member name="P:HTTPApp.HTTPApp.ContentVersion">
  2691.          <summary>
  2692.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the Content-Version header of the HTTP request message.</para>
  2693.          </summary>
  2694.          <comments>
  2695.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">ContentVersion</property> to determine the version of the Content of the HTTP request message. Most HTTP requests do not require any Content at all. When the Method requires a value for Content, the <property namespace="HTTPApp" class="TWebRequest">ContentVersion</property> may be set to indicate the version of the source of that content. The format of the <property namespace="HTTPApp" class="TWebRequest">ContentVersion</property> depends on the ContentType of the request.</para>
  2696.          </comments>
  2697.       </member>
  2698.       <member name="P:HTTPApp.HTTPApp.Content">
  2699.          <summary>
  2700.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the unparsed contents of the HTTP request message.</para>
  2701.          </summary>
  2702.          <comments>
  2703.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebRequest">Content</property> to read the contents of an HTTP request message that is sending information to the server. The value of <property namespace="HTTPApp" class="TWebRequest">Content</property> depends on the Method of the HTTP request. When the Method is POST, <property namespace="HTTPApp" class="TWebRequest">Content</property> is the unparsed string giving the values to be posted with their associated fields. When the Method is PUT, <property namespace="HTTPApp" class="TWebRequest">Content</property> is the value that should replace the URL given by the URL property.</para>
  2704.             <tip xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2705.                      
  2706.                <para>When the Method is POST, the parsed version of the post request is available in the <property namespace="HTTPApp" class="TWebRequest">Content</property>Fields property.</para>
  2707.                   
  2708.             </tip>
  2709.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2710.                      
  2711.                <para>If the content of a message is particularly large, it is transferred in chunks. In this case, the <property namespace="HTTPApp" class="TWebRequest">Content</property> property does not contain the entire message content. To read the rest of the content, use the ReadClient method. </para>
  2712.                   
  2713.             </note>
  2714.          </comments>
  2715.       </member>
  2716.       <member name="P:HTTPApp.HTTPApp.Connection">
  2717.          <summary>
  2718.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the <property namespace="HTTPApp" class="TWebRequest">Connection</property> header of the HTTP request message.</para>
  2719.          </summary>
  2720.          <comments>
  2721.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">Connection</property> to determine the options requested by the Web client for its connection to the server application. The HTTP 1.1 standard specifies only one value for the <property namespace="HTTPApp" class="TWebRequest">Connection</property> header. If the value of <property namespace="HTTPApp" class="TWebRequest">Connection</property> is close, the connection should be closed after the completion of the response.</para>
  2722.          </comments>
  2723.       </member>
  2724.       <member name="P:HTTPApp.HTTPApp.DerivedFrom">
  2725.          <summary>
  2726.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the Derived-From header of the HTTP request message.</para>
  2727.          </summary>
  2728.          <comments>
  2729.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">DerivedFrom</property> to determine the URI from which the value of Content originated. <property namespace="HTTPApp" class="TWebRequest">DerivedFrom</property> is only meaningful when the request includes a Content property and the Content did not originate with the Web client.</para>
  2730.          </comments>
  2731.       </member>
  2732.       <member name="P:HTTPApp.HTTPApp.Expires">
  2733.          <summary>
  2734.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the <property namespace="HTTPApp" class="TWebRequest">Expires</property> header of the HTTP request message.</para>
  2735.          </summary>
  2736.          <comments>
  2737.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebRequest">Expires</property> to determine whether the request is "stale." <property namespace="HTTPApp" class="TWebRequest">Expires</property> is the date and time at which the request becomes invalid. The value of <property namespace="HTTPApp" class="TWebRequest">Expires</property> is translated into local time as specified by the system clock from the time units set by the Web client.</para>
  2738.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If the request has a CacheControl value with a max-age directive, the max-age directive overrides the value of <property namespace="HTTPApp" class="TWebRequest">Expires</property>.</para>
  2739.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2740.                      
  2741.                <property namespace="HTTPApp" class="TWebRequest">Expires</property> is represented using the TDateTime type. The integral part of a TDateTime value is the number of days that have passed since Dec. 30, 1899. The fractional part of a TDateTime value is the fraction of a 24-hour day that has elapsed.</para>
  2742.          </comments>
  2743.       </member>
  2744.       <member name="P:HTTPApp.HTTPApp.Title">
  2745.          <summary>
  2746.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the value of the <property namespace="HTTPApp" class="TWebRequest">Title</property> header of the HTTP request message.</para>
  2747.          </summary>
  2748.          <comments>
  2749.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">Title</property> to determine the <property namespace="HTTPApp" class="TWebRequest">Title</property> of the information requested in the Web client request.</para>
  2750.          </comments>
  2751.       </member>
  2752.       <member name="P:HTTPApp.HTTPApp.RemoteAddr">
  2753.          <summary>
  2754.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the remote IP address of the client associated with the HTTP request message.</para>
  2755.          </summary>
  2756.          <comments>
  2757.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">RemoteAddr</property> to obtain the IP address of the source of the Web client request.</para>
  2758.          </comments>
  2759.       </member>
  2760.       <member name="P:HTTPApp.HTTPApp.RemoteHost">
  2761.          <summary>
  2762.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Reports the fully qualified reverse domain lookup of the client associated with the HTTP request message.</para>
  2763.          </summary>
  2764.          <comments>
  2765.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebRequest">RemoteHost</property> to compose URI values for back-links to the source of the request when the Referer property is not specified. <property namespace="HTTPApp" class="TWebRequest">RemoteHost</property> does not include any path information.</para>
  2766.          </comments>
  2767.       </member>
  2768.       <member name="P:HTTPApp.HTTPApp.ScriptName">
  2769.          <summary>
  2770.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the value of the script information (if any) of the URL specified in the HTTP request message.</para>
  2771.          </summary>
  2772.          <comments>
  2773.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">ScriptName</property> to determine the full path to the Web server application specified by the client request. For example, given this URL:</para>
  2774.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">http://www.TSite.com/art/gallery.cgi/mammals?animal=dog&color=black</codeBlock>
  2775.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">the <property namespace="HTTPApp" class="TWebRequest">ScriptName</property> portion is:</para>
  2776.             <codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">/art/gallery.cgi</codeBlock>
  2777.          </comments>
  2778.       </member>
  2779.       <member name="P:HTTPApp.HTTPApp.ServerPort">
  2780.          <summary>
  2781.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the port number of the port on the Web server that receives the HTTP request message.</para>
  2782.          </summary>
  2783.          <comments>
  2784.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebRequest">ServerPort</property> to determine the number of the port used in the connection to the Web server. The Host property will include the <property namespace="HTTPApp" class="TWebRequest">ServerPort</property> if it is specified as part of the URL for the client request.</para>
  2785.          </comments>
  2786.       </member>
  2787.       <member name="P:HTTPApp.HTTPApp.InternalPathInfo">
  2788.          <summary>
  2789.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the path info portion of the URL.</para>
  2790.          </summary>
  2791.          <comments>
  2792.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2793.                      
  2794.                <property namespace="HTTPApp" class="TWebRequest">InternalPathInfo</property> contains the path information portion of the URL, which identifies the destination of the message. This property generally contains the same information as PathInfo.<condition os="Linux"/>To ensure cross-platform code compatibility, use <property namespace="HTTPApp" class="TWebRequest">InternalPathInfo</property> instead of PathInfo.</para>
  2795.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2796.                      
  2797.                <para>On Windows, this property varies slightly from PathInfo if the application has an embedded test server. In that case, information specific to the test server is contained in the InternalScriptName instead of the <property namespace="HTTPApp" class="TWebRequest">InternalPathInfo</property>. </para>
  2798.                   
  2799.             </note>
  2800.          </comments>
  2801.       </member>
  2802.       <member name="P:HTTPApp.HTTPApp.InternalScriptName">
  2803.          <summary>
  2804.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the ScriptName part of the URL.</para>
  2805.          </summary>
  2806.          <comments>
  2807.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2808.                      
  2809.                <property namespace="HTTPApp" class="TWebRequest">InternalScriptName</property> contains the script name portion of the URL, which specifies the name of a Web server application. This property generally contains the same information as ScriptName. To ensure cross platform code compatibility, use <property namespace="HTTPApp" class="TWebRequest">InternalScriptName</property> instead of ScriptName.</para>
  2810.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2811.                      
  2812.                <para>On Windows, this property varies slightly from ScriptName if the application has an embedded test server. In that case, information specific to the test server is contained in the <property namespace="HTTPApp" class="TWebRequest">InternalScriptName</property> instead of the InternalPathInfo. </para>
  2813.                   
  2814.             </note>
  2815.          </comments>
  2816.       </member>
  2817.       <member name="P:HTTPApp.HTTPApp.Files">
  2818.          <summary>
  2819.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the files uploaded in the HTTP request.</para>
  2820.          </summary>
  2821.          <comments>
  2822.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use this property to find the specific instance of the object's TAbstractRequest<property namespace="HTTPApp" class="TWebRequest">Files</property> object. The TAbstractRequest<property namespace="HTTPApp" class="TWebRequest">Files</property> object contains uploaded files extracted from the HTTP request.</para>
  2823.          </comments>
  2824.       </member>
  2825.       <member name="T:HTTPApp.TAbstractContentParser">
  2826.          <summary>
  2827.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2828.                
  2829.                <class namespace="HTTPApp">TAbstractContentParser</class> is the base class for objects that parse the content of an HTTP request.</para>
  2830.          </summary>
  2831.          <comments>
  2832.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Web request objects use a descendant of <class namespace="HTTPApp">TAbstractContentParser</class> to retrieve information about the named values in the content of the HTTP request they represent. <class namespace="HTTPApp">TAbstractContentParser</class> defines two protected methods, GetContentFields and GetFiles, which the Web request uses to obtain values for its ContentFields and Files properties, respectively.</para>
  2833.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2834.                
  2835.                <class namespace="HTTPApp">TAbstractContentParser</class> should not be instantiated. The GetContentFields and GetFiles methods are abstract or, in C++ terminology, pure virtual, which means that <class namespace="HTTPApp">TAbstractContentParser</class> does not supply an implementation. Each <class namespace="HTTPApp">TAbstractContentParser</class> descendant overrides these methods to support its own method of extracting named value strings and uploaded files from an HTTP request. The <class namespace="HTTPApp">TAbstractContentParser</class> descendant also overrides the public CanParse method to check whether the request message contains information encoded in a way that the content parser understands.</para>
  2836.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Each <class namespace="HTTPApp">TAbstractContentParser</class> descendant registers itself with the Web server application. Then, when a Web request object needs to parse its content to set the ContentFields and Files properties, it searches through the registered content parsers to locate the most recently registered parser that can parse the current content. </para>
  2837.          </comments>
  2838.       </member>
  2839.       <member name="M:HTTPApp.HTTPApp.GetContentFields">
  2840.          <summary>
  2841.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the named value strings that are included in the content of the current Web request.</para>
  2842.          </summary>
  2843.          <comments>
  2844.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2845.                      
  2846.                <method namespace="HTTPApp" class="TAbstractContentParser">GetContentFields</method> returns a list of strings with the form "Name=Value" that represent any name/value pairs that the parser identifies in the content of the current Web request.</para>
  2847.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <method namespace="HTTPApp" class="TAbstractContentParser">TAbstractContentParser</method>, <method namespace="HTTPApp" class="TAbstractContentParser">GetContentFields</method> is abstract or, in C++ terminology, pure virtual, meaning that this class does not supply an implementation. Descendant classes override this method to extract name/value pairs from the current request and add them to the returned string list.</para>
  2848.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2849.                      
  2850.                <para>The content parser owns the string list it returns. The caller should not free the string list.</para>
  2851.                   
  2852.             </note>
  2853.          </comments>
  2854.       </member>
  2855.       <member name="M:HTTPApp.HTTPApp.GetFiles">
  2856.          <summary>
  2857.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a set of uploaded files that the parser extracts from the current Web request.</para>
  2858.          </summary>
  2859.          <comments>
  2860.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2861.                      
  2862.                <method namespace="HTTPApp" class="TAbstractContentParser">GetFiles</method> returns a list of Web request file objects, each of which represents an uploaded file from the current Web request. Each Web request file object has properties to describe an uploaded file, including a stream object from which to read the content of the uploaded file.</para>
  2863.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <method namespace="HTTPApp" class="TAbstractContentParser">TAbstractContentParser</method>, <method namespace="HTTPApp" class="TAbstractContentParser">GetFiles</method> is abstract or, in C++ terminology, pure virtual, meaning that this class does not supply an implementation. Descendant classes override this method to extract uploaded files from the current request and add them to the Web request files object.</para>
  2864.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2865.                      
  2866.                <para>The content parser owns the list it returns. The caller should not free this list.</para>
  2867.                   
  2868.             </note>
  2869.          </comments>
  2870.       </member>
  2871.       <member name="M:HTTPApp.HTTPApp.CanParse">
  2872.          <summary>
  2873.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether a specified request message contains information encoded in a way that this parser understands. </para>
  2874.          </summary>
  2875.          <comments>
  2876.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2877.                      
  2878.                <method namespace="HTTPApp" class="TAbstractContentParser">CanParse</method> indicates whether a content parser class can handle parsing a specified request message. <method namespace="HTTPApp" class="TAbstractContentParser">CanParse</method> is a class method (Delphi) or static method (C++), which means the Web request does not need an instantiated object to call this method. The Web request object calls the <method namespace="HTTPApp" class="TAbstractContentParser">CanParse</method> method of every registered <method namespace="HTTPApp" class="TAbstractContentParser">TAbstractContentParser</method> descendant until it finds one that can parse its content.</para>
  2879.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AWebRequest is the current HTTP request message.</para>
  2880.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2881.                      
  2882.                <method namespace="HTTPApp" class="TAbstractContentParser">CanParse</method> returns true if this class can parse AWebRequest, false if AWebRequest does not indicate an encoding that this class understands.</para>
  2883.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <method namespace="HTTPApp" class="TAbstractContentParser">TAbstractContentParser</method>, <method namespace="HTTPApp" class="TAbstractContentParser">CanParse</method> always returns false. Descendant classes that implement the GetContentFields and GetFiles methods override <method namespace="HTTPApp" class="TAbstractContentParser">CanParse</method> to indicate when a Web request has a format they can parse.</para>
  2884.          </comments>
  2885.       </member>
  2886.       <member name="M:HTTPApp.HTTPApp.Create">
  2887.          <summary>
  2888.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2889.                      
  2890.                <method namespace="HTTPApp" class="TAbstractContentParser">Create</method>s and initializes a new <method namespace="HTTPApp" class="TAbstractContentParser">TAbstractContentParser</method> object.</para>
  2891.          </summary>
  2892.          <comments>
  2893.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not create instances of <method namespace="HTTPApp" class="TAbstractContentParser">TAbstractContentParser</method>. This class and its descendants are intended only as helper objects to the Web request. The Web request creates its own instance of a <method namespace="HTTPApp" class="TAbstractContentParser">TAbstractContentParser</method> descendant that can parse its content.</para>
  2894.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AWebRequest is the Web request object that creates this content parser to extract information from its content. This becomes the value of the WebRequest property.</para>
  2895.          </comments>
  2896.       </member>
  2897.       <member name="P:HTTPApp.HTTPApp.WebRequest">
  2898.          <summary>
  2899.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the Web request object that uses this parser to parse its content.</para>
  2900.          </summary>
  2901.          <comments>
  2902.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Content parsers use the protected <property namespace="HTTPApp" class="TAbstractContentParser">WebRequest</property> property internally to access the content they parse. The value of <property namespace="HTTPApp" class="TAbstractContentParser">WebRequest</property> is a Web request object whose properties represent the headers and content of the current HTTP request message.</para>
  2903.          </comments>
  2904.       </member>
  2905.       <member name="T:HTTPApp.TContentParser">
  2906.          <summary>
  2907.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2908.                
  2909.                <class namespace="HTTPApp">TContentParser</class> is the default parser for extracting named value strings and uploaded files from an HTTP request.</para>
  2910.          </summary>
  2911.          <comments>
  2912.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Web request objects use a <class namespace="HTTPApp">TContentParser</class> object to parse the content of an HTTP request message when there is no other registered content parser that knows how to interpret that content. The Web request uses the content parser to assign values for its ContentFields and Files properties.</para>
  2913.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2914.                
  2915.                <class namespace="HTTPApp">TContentParser</class> does not know how to parse special request formats. It simply calls the Web request object's own ExtractContentFields method to extract named value strings for the request's ContentFields property. It does not parse uploaded files, but merely returns an empty list for the request's Files property.</para>
  2916.          </comments>
  2917.       </member>
  2918.       <member name="M:HTTPApp.HTTPApp.GetContentFields">
  2919.          <summary>
  2920.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the named value strings that are included in the content of the current Web request.</para>
  2921.          </summary>
  2922.          <comments>
  2923.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2924.                      
  2925.                <method namespace="HTTPApp" class="TContentParser">GetContentFields</method> returns a list of strings with the form "Name=Value" that represent any name/value pairs that the parser identifies in the content of the current Web request.</para>
  2926.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <method namespace="HTTPApp" class="TContentParser">TContentParser</method>, <method namespace="HTTPApp" class="TContentParser">GetContentFields</method> simply calls the ExtractContentFields method of the current Web request. This method assumes that fields are strings with the form "Name=Value", separated by ampersands (&).</para>
  2927.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2928.                      
  2929.                <para>The content parser owns the string list it returns. The caller should not free the string list.</para>
  2930.                   
  2931.             </note>
  2932.          </comments>
  2933.       </member>
  2934.       <member name="M:HTTPApp.HTTPApp.GetFiles">
  2935.          <summary>
  2936.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a set of uploaded files that the parser extracts from the current Web request.</para>
  2937.          </summary>
  2938.          <comments>
  2939.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2940.                      
  2941.                <method namespace="HTTPApp" class="TContentParser">GetFiles</method> returns a list of Web request file objects, each of which represents an uploaded file from the current Web request. Each Web request file object has properties to describe an uploaded file, including a stream object from which to read the content of the uploaded file.</para>
  2942.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <method namespace="HTTPApp" class="TContentParser">TContentParser</method>, <method namespace="HTTPApp" class="TContentParser">GetFiles</method> always returns an empty list. That is, <method namespace="HTTPApp" class="TContentParser">TContentParser</method> does not implement support for uploaded files in HTTP requests.</para>
  2943.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2944.                      
  2945.                <para>The content parser owns the list it returns. The caller should not free this list.</para>
  2946.                   
  2947.             </note>
  2948.          </comments>
  2949.       </member>
  2950.       <member name="M:HTTPApp.HTTPApp.CanParse">
  2951.          <summary>
  2952.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether a specified request message contains information encoded in a way that this parser understands. </para>
  2953.          </summary>
  2954.          <comments>
  2955.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2956.                      
  2957.                <method namespace="HTTPApp" class="TContentParser">CanParse</method> indicates whether a content parser class can handle parsing a specified request message. <method namespace="HTTPApp" class="TContentParser">CanParse</method> is a <condition language="CBuilder">static</condition>
  2958.                      
  2959.                <condition language="Delphi">class</condition> method, which means the Web request does not need an instantiated object to call this method. The Web request object calls the <method namespace="HTTPApp" class="TContentParser">CanParse</method> method of every registered content parser until it finds one that can parse its content.</para>
  2960.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AWebRequest is the current HTTP request message.</para>
  2961.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2962.                      
  2963.                <method namespace="HTTPApp" class="TContentParser">CanParse</method> returns true if this class can parse AWebRequest, false if AWebRequest does not indicate an encoding that this class understands.</para>
  2964.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <method namespace="HTTPApp" class="TContentParser">TContentParser</method>, <method namespace="HTTPApp" class="TContentParser">CanParse</method> always returns true. <method namespace="HTTPApp" class="TContentParser">TContentParser</method> is always the last content parser that the Web request object checks, and provides the default parsing when no other parser is available.</para>
  2965.          </comments>
  2966.       </member>
  2967.       <member name="M:HTTPApp.HTTPApp.Destroy">
  2968.          <summary>
  2969.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Frees the memory associated with the <method namespace="HTTPApp" class="TContentParser">TContentParser</method> object.</para>
  2970.          </summary>
  2971.          <comments>
  2972.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not free content parser instances. The Web request object frees the content parser when it no longer needs it.</para>
  2973.          </comments>
  2974.       </member>
  2975.       <member name="T:HTTPApp.TAbstractWebRequestFiles">
  2976.          <summary>
  2977.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2978.                
  2979.                <class namespace="HTTPApp">TAbstractWebRequestFiles</class> is a collection of TAbstractWebRequestFile objects.</para>
  2980.          </summary>
  2981.          <comments>
  2982.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2983.                
  2984.                <class namespace="HTTPApp">TAbstractWebRequestFiles</class> is the base class for objects that manage a set of Web request files objects (TAbstractWebRequestFile descendants). Each Web request file object in the collection describes an uploaded file that was extracted from the current HTTP request object.</para>
  2985.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2986.                
  2987.                <class namespace="HTTPApp">TAbstractWebRequestFiles</class> should not be instantiated. The methods that implement its properties are abstract or, in C++ terminology, pure virtual. Instead, applications use a <class namespace="HTTPApp">TAbstractWebRequestFiles</class> descendant such as TWebRequestFiles (which is included in WebSnap).</para>
  2988.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2989.                
  2990.                <para>Support for uploaded files is only included in WebSnap. For other Web server applications, this class exists only as a placeholder for the Files property on TWebRequest.</para>
  2991.             
  2992.             </note>
  2993.          </comments>
  2994.       </member>
  2995.       <member name="P:HTTPApp.HTTPApp.Items">
  2996.          <summary>
  2997.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the uploaded files in the collection.</para>
  2998.          </summary>
  2999.          <comments>
  3000.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebRequestFiles">Items</property> to access the descriptions of the individual uploaded files in the collection.</para>
  3001.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">I is the index of the file to access, where 0 indicates the first file, 1 indicates the second file, and so on. The value of I must be less than the value of the Count property.</para>
  3002.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3003.                      
  3004.                <para>
  3005.                         
  3006.                   <property namespace="HTTPApp" class="TAbstractWebRequestFiles">Items</property> is the default property of <property namespace="HTTPApp" class="TAbstractWebRequestFiles">TAbstractWebRequestFiles</property>. This means that the property name can be omitted when using this property. Thus, the line</para>
  3007.                   
  3008.             </note>
  3009.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3010.                      
  3011.                <para>Upload := WebContext.Request.Files.<property namespace="HTTPApp" class="TAbstractWebRequestFiles">Items</property>[0];</para>
  3012.                   
  3013.             </note>
  3014.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3015.                      
  3016.                <para>can also be written</para>
  3017.                   
  3018.             </note>
  3019.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3020.                      
  3021.                <para>Upload := WebContext.Request.Files[0];</para>
  3022.                   
  3023.             </note>
  3024.          </comments>
  3025.       </member>
  3026.       <member name="P:HTTPApp.HTTPApp.Count">
  3027.          <summary>
  3028.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the number of uploaded files in the collection.</para>
  3029.          </summary>
  3030.          <comments>
  3031.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebRequestFiles">Count</property> to determine the number of files in this collection. <property namespace="HTTPApp" class="TAbstractWebRequestFiles">Count</property> provides an upper bound to the index of the Items property.</para>
  3032.          </comments>
  3033.       </member>
  3034.       <member name="T:HTTPApp.TAbstractWebRequestFile">
  3035.          <summary>
  3036.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3037.                
  3038.                <class namespace="HTTPApp">TAbstractWebRequestFile</class> describes an uploaded file from an HTTP request.</para>
  3039.          </summary>
  3040.          <comments>
  3041.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3042.                
  3043.                <class namespace="HTTPApp">TAbstractWebRequestFile</class> introduces properties to describe and provide access to an uploaded file from an HTTP request. These include</para>
  3044.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">FileName, which gives the name of the uploaded file.</para>
  3045.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">FieldName, which gives the name of the field whose value is the uploaded file.</para>
  3046.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ContentType, which describes how the file data is encoded.</para>
  3047.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Stream, which is a stream object from which you can read the file content.</para>
  3048.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The methods that implement these properties are all abstract or, in C++ terminology, pure virtual. This means that the Web server application does not instantiate <class namespace="HTTPApp">TAbstractWebRequestFile</class>. Instead, it uses a <class namespace="HTTPApp">TAbstractWebRequestFile</class> descendant such as TWebRequestFile (which is included in WebSnap).</para>
  3049.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Each <class namespace="HTTPApp">TAbstractWebRequestFile</class> descendant describes a single uploaded file. A collection of all the uploaded files from the current request is available as the Files property of TWebRequest. In addition, in WebSnap applications, adapter fields that work with uploaded files surface those files using a TUpdateFileList object or IActionFieldValues interface.</para>
  3050.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3051.                
  3052.                <para>Support for uploaded files is only included in WebSnap. For other Web server applications, this class exists only as a placeholder for the Files property on TWebRequest.</para>
  3053.             
  3054.             </note>
  3055.          </comments>
  3056.       </member>
  3057.       <member name="P:HTTPApp.HTTPApp.FieldName">
  3058.          <summary>
  3059.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the name of the adapter field whose value is the contents of the file.</para>
  3060.          </summary>
  3061.          <comments>
  3062.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebRequestFile">FieldName</property> to identify the adapter field for which this file was uploaded. This is the same as the <property namespace="HTTPApp" class="TAbstractWebRequestFile">FieldName</property> property of the adapter field object.</para>
  3063.          </comments>
  3064.       </member>
  3065.       <member name="P:HTTPApp.HTTPApp.FileName">
  3066.          <summary>
  3067.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the name of the uploaded file.</para>
  3068.          </summary>
  3069.          <comments>
  3070.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebRequestFile">FileName</property> to obtain the name of the uploaded file.</para>
  3071.          </comments>
  3072.       </member>
  3073.       <member name="P:HTTPApp.HTTPApp.Stream">
  3074.          <summary>
  3075.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the contents of the uploaded file.</para>
  3076.          </summary>
  3077.          <comments>
  3078.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TAbstractWebRequestFile">Stream</property> to read the content of the uploaded file. Call the Read method of this stream to read the file contents.</para>
  3079.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3080.                      
  3081.                <para>The ContentType property indicates the format used to encode the file contents that you read from <property namespace="HTTPApp" class="TAbstractWebRequestFile">Stream</property>.</para>
  3082.                   
  3083.             </note>
  3084.          </comments>
  3085.       </member>
  3086.       <member name="P:HTTPApp.HTTPApp.ContentType">
  3087.          <summary>
  3088.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Describes how the file data is encoded.</para>
  3089.          </summary>
  3090.          <comments>
  3091.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebRequestFile">ContentType</property> to determine the format of the data you can read from the Stream property. <property namespace="HTTPApp" class="TAbstractWebRequestFile">ContentType</property> is a string of the format Type/SubType, which names the MIME type and subtype used to encode the file contents.</para>
  3092.          </comments>
  3093.       </member>
  3094.       <member name="T:HTTPApp.TCookie">
  3095.          <summary>
  3096.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3097.                
  3098.                <class namespace="HTTPApp">TCookie</class> represents a Cookie header in an HTTP response message. </para>
  3099.          </summary>
  3100.          <comments>
  3101.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="HTTPApp">TCookie</class> to specify the cookie header that should be sent with a response message when responding to an HTTP request message. Cookie headers contain state information that the Web client passes on to other locations on the Internet or Intranet.</para>
  3102.          </comments>
  3103.       </member>
  3104.       <member name="M:HTTPApp.HTTPApp.Create">
  3105.          <summary>
  3106.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3107.                      
  3108.                <method namespace="HTTPApp" class="TCookie">Create</method>s an instance of <method namespace="HTTPApp" class="TCookie">TCookie</method>.</para>
  3109.          </summary>
  3110.          <comments>
  3111.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">It is seldom necessary to call the constructor for <method namespace="HTTPApp" class="TCookie">TCookie</method> directly.  Instead, create <method namespace="HTTPApp" class="TCookie">TCookie</method> objects indirectly by calling the Add method of <method namespace="HTTPApp" class="TCookie">TCookie</method>Collection.</para>
  3112.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">After calling the inherited constructor, <method namespace="HTTPApp" class="TCookie">Create</method> initializes the Expires property to indicate no expiration date.</para>
  3113.          </comments>
  3114.       </member>
  3115.       <member name="M:HTTPApp.HTTPApp.AssignTo">
  3116.          <summary>
  3117.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Copies the properties of the <method namespace="HTTPApp" class="TCookie">TCookie</method> object to another <method namespace="HTTPApp" class="TCookie">TCookie</method> object.</para>
  3118.          </summary>
  3119.          <comments>
  3120.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not call the <method namespace="HTTPApp" class="TCookie">AssignTo</method> method for <method namespace="HTTPApp" class="TCookie">TCookie</method>.  Instead, call the Assign method of the destination object.  The Assign method of the destination object calls the <method namespace="HTTPApp" class="TCookie">AssignTo</method> method if it does not contain code for copying the properties of a <method namespace="HTTPApp" class="TCookie">TCookie</method> object.  If the destination object is a <method namespace="HTTPApp" class="TCookie">TCookie</method> object, <method namespace="HTTPApp" class="TCookie">AssignTo</method> copies the Name, Value, Domain, Path, Expires, and Secure properties so the destination cookie generates the same Cookie header string.</para>
  3121.          </comments>
  3122.       </member>
  3123.       <member name="P:HTTPApp.HTTPApp.Name">
  3124.          <summary>
  3125.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the name of the custom field represented by this Cookie header.</para>
  3126.          </summary>
  3127.          <comments>
  3128.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TCookie">Name</property> to the name that identifies the use of the Value property in the Cookie header. The Value property is combined with the <property namespace="HTTPApp" class="TCookie">Name</property> property into a string of the form <property namespace="HTTPApp" class="TCookie">Name</property>=Value.  This string appears as one of the fields in the Cookie header represented by the HeaderValue property.</para>
  3129.          </comments>
  3130.       </member>
  3131.       <member name="P:HTTPApp.HTTPApp.Value">
  3132.          <summary>
  3133.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the value of the Cookie header field named by the Name property.</para>
  3134.          </summary>
  3135.          <comments>
  3136.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TCookie">Value</property> to the value associated with the field named by the Name property. The <property namespace="HTTPApp" class="TCookie">Value</property> property is combined with the Name property into a string of the form Name=<property namespace="HTTPApp" class="TCookie">Value</property>.  This string appears as one of the fields in the Cookie header represented by the Header<property namespace="HTTPApp" class="TCookie">Value</property> property.</para>
  3137.          </comments>
  3138.       </member>
  3139.       <member name="P:HTTPApp.HTTPApp.Domain">
  3140.          <summary>
  3141.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the <property namespace="HTTPApp" class="TCookie">Domain</property> field of the cookie header.</para>
  3142.          </summary>
  3143.          <comments>
  3144.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TCookie">Domain</property> to limit the recipients of the cookie header to certain domains. The Web client will only send this cookie on to URIs in the specified domain.  To limit the recipients to certain paths within the specified domain, use the Path property. </para>
  3145.          </comments>
  3146.       </member>
  3147.       <member name="P:HTTPApp.HTTPApp.Path">
  3148.          <summary>
  3149.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Identifies the paths of URLs to which the Cookie should be sent.</para>
  3150.          </summary>
  3151.          <comments>
  3152.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TCookie">Path</property> to limit the recipients of the cookie header to certain paths. The Web client will only send this cookie header on to URLs with the specified path.  To limit the recipients to certain domains, use the Domain property.</para>
  3153.          </comments>
  3154.       </member>
  3155.       <member name="P:HTTPApp.HTTPApp.Expires">
  3156.          <summary>
  3157.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies when the cookie is no longer valid.</para>
  3158.          </summary>
  3159.          <comments>
  3160.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TCookie">Expires</property> to the date and time after which the Web client should not send the cookie on with HTTP messages.</para>
  3161.          </comments>
  3162.       </member>
  3163.       <member name="P:HTTPApp.HTTPApp.Secure">
  3164.          <summary>
  3165.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Determines whether the Web client must use a secure connection to pass on the Cookie header.</para>
  3166.          </summary>
  3167.          <comments>
  3168.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TCookie">Secure</property> to true if the Web client must use a secure connection when sending the Cookie header.  <property namespace="HTTPApp" class="TCookie">Secure</property> connections are connections where messages may not be stored on any permanent medium such as a back-up tape. If the message is stored temporarily in a file, the file must be deleted.</para>
  3169.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TCookie">Secure</property> to false if it does not matter whether the Cookie header is sent using a secure connection.</para>
  3170.          </comments>
  3171.       </member>
  3172.       <member name="P:HTTPApp.HTTPApp.HeaderValue">
  3173.          <summary>
  3174.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the Cookie header string that represents this <property namespace="HTTPApp" class="TCookie">TCookie</property> object.</para>
  3175.          </summary>
  3176.          <comments>
  3177.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TCookie">HeaderValue</property> to determine the Cookie header that is added to the HTTP response message for this <property namespace="HTTPApp" class="TCookie">TCookie</property> object. <property namespace="HTTPApp" class="TCookie">HeaderValue</property> combines the information specified by the Name and Value properties into a single Name=Value field, and then adds the Domain, Path, Expires, and Secure fields based on the values of the properties with the corresponding names.</para>
  3178.          </comments>
  3179.       </member>
  3180.       <member name="T:HTTPApp.TCookieCollection">
  3181.          <summary>
  3182.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3183.                
  3184.                <class namespace="HTTPApp">TCookieCollection</class> is a collection of TCookie objects. </para>
  3185.          </summary>
  3186.          <comments>
  3187.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="HTTPApp">TCookieCollection</class> to represent all the Cookie headers of an HTTP response message.  Each Cookie header is represented by a single TCookie object.  A Cookie header includes a named field with an associated value, of the form Name=Value, plus a number of other, standard fields that specify the destination of the cookie, when the cookie is valid, and so on.  Web clients pass Cookie headers on to the destinations specified by the fields of the Cookie header.</para>
  3188.          </comments>
  3189.       </member>
  3190.       <member name="M:HTTPApp.HTTPApp.Add">
  3191.          <summary>
  3192.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates a new TCookie object and adds it to the end of the Items property array.</para>
  3193.          </summary>
  3194.          <comments>
  3195.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TCookieCollection">Add</method> to add a new Cookie header to the set of cookie headers sent with the Web response message.  Use <method namespace="HTTPApp" class="TCookieCollection">Add</method> when adding a Cookie header whose fields will be set at a later time. If the values of the TCookie properties are known at the time of creation, use the SetCookieField method of the Web response object instead.</para>
  3196.          </comments>
  3197.       </member>
  3198.       <member name="M:HTTPApp.HTTPApp.Create">
  3199.          <summary>
  3200.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3201.                      
  3202.                <method namespace="HTTPApp" class="TCookieCollection">Create</method>s and initializes a <method namespace="HTTPApp" class="TCookieCollection">TCookieCollection</method> object.</para>
  3203.          </summary>
  3204.          <comments>
  3205.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications should not need to call the <method namespace="HTTPApp" class="TCookieCollection">Create</method> method directly.  The Web response object that uses the cookie collection to represent its Cookie headers creates the <method namespace="HTTPApp" class="TCookieCollection">TCookieCollection</method> object from its own constructor.</para>
  3206.          </comments>
  3207.       </member>
  3208.       <member name="P:HTTPApp.HTTPApp.WebResponse">
  3209.          <summary>
  3210.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the T<property namespace="HTTPApp" class="TCookieCollection">WebResponse</property> object that uses the cookie collection to represent all of its Cookie headers.</para>
  3211.          </summary>
  3212.          <comments>
  3213.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TCookieCollection">WebResponse</property> to access the response object that is using the cookie collection.  The response object is a descendant of T<property namespace="HTTPApp" class="TCookieCollection">WebResponse</property>, either <condition os="Windows">TISAPIResponse,</condition>
  3214.                      
  3215.                <condition os="Windows">TWinCGIResponse,</condition>TCGIResponse<condition os="Windows">,</condition> or TApacheResponse, depending on the type of Web server application.</para>
  3216.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the properties of the response object to obtain information about the other headers in the response message or the content of the response message.  Many applications use this information to determine what field values to specify as Cookie headers.</para>
  3217.          </comments>
  3218.       </member>
  3219.       <member name="P:HTTPApp.HTTPApp.Items">
  3220.          <summary>
  3221.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides indexed access to the TCookie objects in the collection.</para>
  3222.          </summary>
  3223.          <comments>
  3224.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TCookieCollection">Items</property> to access the properties of the TCookie objects maintained by <property namespace="HTTPApp" class="TCookieCollection">TCookieCollection</property>. </para>
  3225.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3226.                      
  3227.                <para>In Delphi, items is the default property of <property namespace="HTTPApp" class="TCookieCollection">TCookieCollection</property>, so the name of the <property namespace="HTTPApp" class="TCookieCollection">Items</property> property can be left off when using this property. Thus the line</para>
  3228.                   
  3229.             </note>
  3230.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3231.                      
  3232.                <para>FirstCookie := TApacheResponse1.Cookies.<property namespace="HTTPApp" class="TCookieCollection">Items</property>[0];</para>
  3233.                   
  3234.             </note>
  3235.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3236.                      
  3237.                <para>can be written</para>
  3238.                   
  3239.             </note>
  3240.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3241.                      
  3242.                <para>FirstCookie := TApacheResponse1.Cookies[0];</para>
  3243.                   
  3244.             </note>
  3245.          </comments>
  3246.       </member>
  3247.       <member name="T:HTTPApp.TWebResponse">
  3248.          <summary>
  3249.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3250.                
  3251.                <class namespace="HTTPApp">TWebResponse</class> is the base class for all objects that represent HTTP messages sent in response to an HTTP request message.</para>
  3252.          </summary>
  3253.          <comments>
  3254.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use a descendant of <class namespace="HTTPApp">TWebResponse</class> to specify the response to an HTTP request message.</para>
  3255.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">A web application creates a <class namespace="HTTPApp">TWebResponse</class> object based on the TWebRequest object for an incoming HTTP request message. The Web dispatcher for the application then passes the <class namespace="HTTPApp">TWebResponse</class> object to the TWebActionItem associated with the TWebRequest object, so that the response can be formulated.</para>
  3256.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3257.                
  3258.                <class namespace="HTTPApp">TWebResponse</class> has descendants that represent HTTP response messages in different types of web server applications. These descendants are</para>
  3259.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TApacheResponse objects in Apache server applications.</para>
  3260.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TCGIResponse objects in CGI server applications.</para>
  3261.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3262.                
  3263.                <condition os="Windows">TISAPIResponse objects in server DLLs (Windows only).</condition>
  3264.             
  3265.             </para>
  3266.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3267.                
  3268.                <condition os="Windows">TWinCGIResponse objects in Windows-based CGI servers (Windows only).</condition>
  3269.             
  3270.             </para>
  3271.          </comments>
  3272.       </member>
  3273.       <member name="M:HTTPApp.HTTPApp.FormatAuthenticate">
  3274.          <summary>
  3275.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists of one or more comma-separated challenges provided when the request fails with StatusCode 401 (Unauthorized).</para>
  3276.          </summary>
  3277.          <comments>
  3278.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3279.                      
  3280.                <method namespace="HTTPApp" class="TWebResponse">FormatAuthenticate</method> returns the value of WWWAuthenticate if Realm is an empty string. If it is not empty, it returns a name/value pair describing the realm of the WWWAuthenticate property.</para>
  3281.          </comments>
  3282.       </member>
  3283.       <member name="M:HTTPApp.HTTPApp.GetCustomHeader">
  3284.          <summary>
  3285.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the value of the custom header with the specified name.</para>
  3286.          </summary>
  3287.          <comments>
  3288.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TWebResponse">GetCustomHeader</method> to obtain the value of one of the custom headers specified in the CustomHeaders property. The Name parameter specifies the name of the HTTP message header.</para>
  3289.          </comments>
  3290.       </member>
  3291.       <member name="M:HTTPApp.HTTPApp.Sent">
  3292.          <summary>
  3293.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the HTTP response message has already been sent.</para>
  3294.          </summary>
  3295.          <comments>
  3296.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Because SendRedirect and SendStream are abstract (pure virtual) methods for <method namespace="HTTPApp" class="TWebResponse">TWebResponse</method>, <condition language="CBuilder">
  3297.                         
  3298.                   <method namespace="HTTPApp" class="TWebResponse">Sent</method>
  3299.                      
  3300.                </condition> always returns false. Descendants of <method namespace="HTTPApp" class="TWebResponse">TWebResponse</method> override <method namespace="HTTPApp" class="TWebResponse">Sent</method> to check whether the message was sent and return true or false as appropriate.</para>
  3301.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TWebApplication objects read <method namespace="HTTPApp" class="TWebResponse">Sent</method> and send unsent responses to the web client.</para>
  3302.          </comments>
  3303.       </member>
  3304.       <member name="M:HTTPApp.HTTPApp.Create">
  3305.          <summary>
  3306.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates an instance of <method namespace="HTTPApp" class="TWebResponse">TWebResponse</method> to represent the response to the HTTPRequest parameter.</para>
  3307.          </summary>
  3308.          <comments>
  3309.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications shouldn't need to call <method namespace="HTTPApp" class="TWebResponse">TWebResponse</method> to instantiate a response object. The TWebApplication object creates a <method namespace="HTTPApp" class="TWebResponse">TWebResponse</method> for each TWebRequest it creates.</para>
  3310.          </comments>
  3311.       </member>
  3312.       <member name="M:HTTPApp.HTTPApp.AddCustomHeaders">
  3313.          <summary>
  3314.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Appends the custom headers specified by the CustomHeaders property to the Headers parameter.</para>
  3315.          </summary>
  3316.          <comments>
  3317.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TWebResponse">AddCustomHeaders</method> to add the message headers described by the CustomHeaders property to a string of message headers. Each header is added on its own line (separated by carriage return and line feed), in the format HeaderName: Value.</para>
  3318.          </comments>
  3319.       </member>
  3320.       <member name="M:HTTPApp.HTTPApp.SendResponse">
  3321.          <summary>
  3322.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the abstract (pure virtual) prototype of a method that sends the HTTP response message to the web client.</para>
  3323.          </summary>
  3324.          <comments>
  3325.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TWebResponse">SendResponse</method> after setting the properties of the HTTP response object to specify the response that should be made to the web client. If the request should be redirected to another URI, it is more efficient to call SendRedirect instead.</para>
  3326.          </comments>
  3327.       </member>
  3328.       <member name="M:HTTPApp.HTTPApp.SendRedirect">
  3329.          <summary>
  3330.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the abstract (pure virtual) prototype of a method that sends the response with a StatusCode of 301 (Moved Permanently) and a Location of URI.</para>
  3331.          </summary>
  3332.          <comments>
  3333.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TWebResponse">SendRedirect</method> to redirect the web client request to another URI that is the proper target of the request. <method namespace="HTTPApp" class="TWebResponse">SendRedirect</method> does the same thing as setting the StatusCode to 301, the Location to URI, and calling SendResponse.</para>
  3334.          </comments>
  3335.       </member>
  3336.       <member name="M:HTTPApp.HTTPApp.SendStream">
  3337.          <summary>
  3338.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the abstract (pure virtual) prototype of a method that sends the HTTP response message with the contents set to the contents of AStream.</para>
  3339.          </summary>
  3340.          <comments>
  3341.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Only call <method namespace="HTTPApp" class="TWebResponse">SendStream</method> after first calling SendResponse. Unlike <method namespace="HTTPApp" class="TWebResponse">SendStream</method>, SendResponse fills the header of the HTTP response message, based on the properties of the <method namespace="HTTPApp" class="TWebResponse">TWebResponse</method> object. If SendResponse has not been called first to set the header of the HTTP response message, set the ContentStream property to AStream, and call SendResponse. </para>
  3342.          </comments>
  3343.       </member>
  3344.       <member name="M:HTTPApp.HTTPApp.SetCookieField">
  3345.          <summary>
  3346.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Adds a cookie header to the response message.</para>
  3347.          </summary>
  3348.          <comments>
  3349.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TWebResponse">SetCookieField</method> to add a cookie header to the Cookies property. Each cookie header contains a set of name/value pairs that can be passed on by the client application. Use the Values parameter to specify the name/value pairs as strings of the form Name=Value. Use the ADomain and APath parameters to indicate which URLs the cookie should be sent to. Use the AExpires parameter to indicate when the cookie is no longer valid. Use the ASecure property to indicate whether the cookie should only be passed on by the client if a secure connection is used.</para>
  3350.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">See the documentation on the Netscape Web site for more information about cookies.</para>
  3351.          </comments>
  3352.       </member>
  3353.       <member name="M:HTTPApp.HTTPApp.SetCustomHeader">
  3354.          <summary>
  3355.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Replaces the value of a specified custom header.</para>
  3356.          </summary>
  3357.          <comments>
  3358.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TWebResponse">SetCustomHeader</method> to add a new custom header to the list maintained by the CustomHeaders property, or to change the value of one of the headers already in the list. <method namespace="HTTPApp" class="TWebResponse">SetCustomHeader</method> locates the header in the list with the name specified by the Name parameter. If a header with that name is in the list, <method namespace="HTTPApp" class="TWebResponse">SetCustomHeader</method> replaces the value of that header with the value specified as the Value parameter. If the name was not found, <method namespace="HTTPApp" class="TWebResponse">SetCustomHeader</method> adds a new header to the list with the given name and value.</para>
  3359.          </comments>
  3360.       </member>
  3361.       <member name="P:HTTPApp.HTTPApp.Cookies">
  3362.          <summary>
  3363.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists all cookie headers that should be sent with the response.</para>
  3364.          </summary>
  3365.          <comments>
  3366.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebResponse">Cookies</property> to obtain direct access to the individual TCookie objects that represent the fields of the cookie headers in the response message. Each TCookie object represents in individual cookie header that is included with the response message.</para>
  3367.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the Add method of the cookie collection to add a single cookie to the collection, or use the SetCookieField method to add multiple related cookie headers to this collection. SetCookieField creates and adds new cookies that share a common set of values for the domain, path, expires, and secure fields. Use the HeaderValue property of the individual entries in <property namespace="HTTPApp" class="TWebResponse">Cookies</property> to determine the actual response header string that is sent for each cookie header.</para>
  3368.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3369.                      
  3370.                <para>For more information about the use of cookies, see the documentation on Netscape's Web site.</para>
  3371.                   
  3372.             </note>
  3373.          </comments>
  3374.       </member>
  3375.       <member name="P:HTTPApp.HTTPApp.HTTPRequest">
  3376.          <summary>
  3377.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the HTTP request message for which this is a response.</para>
  3378.          </summary>
  3379.          <comments>
  3380.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebResponse">HTTPRequest</property> to determine the header and contents of the HTTP request message that spawned this response message. The properties of <property namespace="HTTPApp" class="TWebResponse">HTTPRequest</property> give access to the information sent in the web client request message.</para>
  3381.          </comments>
  3382.       </member>
  3383.       <member name="P:HTTPApp.HTTPApp.Version">
  3384.          <summary>
  3385.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the HTTP protocol version number that the web client is using.</para>
  3386.          </summary>
  3387.          <comments>
  3388.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebResponse">Version</property> to ensure that the properties set in the <property namespace="HTTPApp" class="TWebResponse">TWebResponse</property> object will be understood by the Web client. The value of <property namespace="HTTPApp" class="TWebResponse">Version</property> is taken from the Protocol<property namespace="HTTPApp" class="TWebResponse">Version</property> property of the TWebRequest object.</para>
  3389.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For more information on the different HTTP protocol versions, see the Internet standards documentation.</para>
  3390.          </comments>
  3391.       </member>
  3392.       <member name="P:HTTPApp.HTTPApp.ReasonString">
  3393.          <summary>
  3394.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the status of the response to the web client request as a human-readable string.</para>
  3395.          </summary>
  3396.          <comments>
  3397.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">ReasonString</property> to inform the human web client of the success or failure of the HTTP request message. Each reason string is associated with a 3-digit status code whose value indicates the status of the response. The HTTP standard defines a number of stock status codes and corresponding reason strings. In addition, server applications can define new reason strings and associate them with unused status codes.</para>
  3398.          </comments>
  3399.       </member>
  3400.       <member name="P:HTTPApp.HTTPApp.Server">
  3401.          <summary>
  3402.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides information about the software used by the server application to handle the request.</para>
  3403.          </summary>
  3404.          <comments>
  3405.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">Server</property> to a string giving the name and version number of the application that provides the Content of the response message. The value of <property namespace="HTTPApp" class="TWebResponse">Server</property> can contain multiple product identifiers and comments, listed in order of significance and separated by spaces. Product identifiers take the form ProductName/VersionNumber.</para>
  3406.          </comments>
  3407.       </member>
  3408.       <member name="P:HTTPApp.HTTPApp.WWWAuthenticate">
  3409.          <summary>
  3410.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists of one or more comma-separated challenges provided when the request fails with StatusCode 401 (Unauthorized).</para>
  3411.          </summary>
  3412.          <comments>
  3413.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">WWWAuthenticate</property> when the HTTP request fails because it requires access to a URI in a realm for which the Web client has not provided a password. <property namespace="HTTPApp" class="TWebResponse">WWWAuthenticate</property> consists of an authentication scheme name, followed by a comma-separated list of parameter/value pairs that specify the parameters to the authentication scheme. The first parameter/value pair indicates the realm.</para>
  3414.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For more information about HTTP authentication schemes, see the Internet standards documents.</para>
  3415.          </comments>
  3416.       </member>
  3417.       <member name="P:HTTPApp.HTTPApp.Realm">
  3418.          <summary>
  3419.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the set of protected-access URIs that includes the URL specified by the HTTP request message.</para>
  3420.          </summary>
  3421.          <comments>
  3422.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">Realm</property> when the response message returns 401 (Unauthorized) or 402 (Payment required). <property namespace="HTTPApp" class="TWebResponse">Realm</property> is the name of a set of URIs that require a password or payment before the web client can access them. All the URIs in the realm, including the URL specified in the request message, are made available as soon as the Web client provides the password or payment for the realm. The server application should keep track, internally, of the passwords or payments the client has provided, using the client information provided by the TWebRequest object.</para>
  3423.          </comments>
  3424.       </member>
  3425.       <member name="P:HTTPApp.HTTPApp.Allow">
  3426.          <summary>
  3427.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the HTTP request methods that the application can service.</para>
  3428.          </summary>
  3429.          <comments>
  3430.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebResponse">Allow</property> to indicate what type of request methods the server application can respond to for the URI specified by HTTPRequest. <property namespace="HTTPApp" class="TWebResponse">Allow</property> is a string of method names, separated by commas. The method names can include any pre-defined methods from the HTTP standard, or any additional methods implemented by the server application. At a minimum, the <property namespace="HTTPApp" class="TWebResponse">TWebResponse</property> object must allow GET and HEAD requests.</para>
  3431.          </comments>
  3432.       </member>
  3433.       <member name="P:HTTPApp.HTTPApp.Location">
  3434.          <summary>
  3435.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the URI of a resource the web client should point to for the completion of its request.</para>
  3436.          </summary>
  3437.          <comments>
  3438.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">Location</property> when the <property namespace="HTTPApp" class="TWebResponse">TWebResponse</property> created a new resource in response to the HTTP request message, or when servicing of the request must be delegated to another URI than the one specified in the HTTP request message.</para>
  3439.          </comments>
  3440.       </member>
  3441.       <member name="P:HTTPApp.HTTPApp.ContentEncoding">
  3442.          <summary>
  3443.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the mechanisms, if any, that are used to encode the content of the HTTP response message.</para>
  3444.          </summary>
  3445.          <comments>
  3446.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">ContentEncoding</property> when the value of Content has been encoded before it is sent to the web client. The encoding mechanisms are listed in the order in which they are applied, separated by commas. Typically, <property namespace="HTTPApp" class="TWebResponse">ContentEncoding</property> indicates a compression method or an encoding method used to transfer extended-ASCII characters over the net.</para>
  3447.          </comments>
  3448.       </member>
  3449.       <member name="P:HTTPApp.HTTPApp.ContentType">
  3450.          <summary>
  3451.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the media type of the Content of the HTTP response message.</para>
  3452.          </summary>
  3453.          <comments>
  3454.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">ContentType</property> to indicate the media type of the Content of the HTTP response message. The value of <property namespace="HTTPApp" class="TWebResponse">ContentType</property> must specify a valid MIME content type. The <property namespace="HTTPApp" class="TWebResponse">ContentType</property> string has the form Type/SubType.</para>
  3455.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For example, if the HTTP response message sends a string of HTML commands to the web client in response to a GET request, the <property namespace="HTTPApp" class="TWebResponse">ContentType</property> is text/html.</para>
  3456.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3457.                      
  3458.                <para>If the HTTP request message includes an Accept header, <property namespace="HTTPApp" class="TWebResponse">ContentType</property> should be one of the content types listed in the Accept property of TWebRequest.</para>
  3459.                   
  3460.             </note>
  3461.          </comments>
  3462.       </member>
  3463.       <member name="P:HTTPApp.HTTPApp.ContentVersion">
  3464.          <summary>
  3465.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the version associated with the Content of the HTTP response message.</para>
  3466.          </summary>
  3467.          <comments>
  3468.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebResponse">ContentVersion</property> to specify a version associated with the Content of the HTTP response. The meaning of <property namespace="HTTPApp" class="TWebResponse">ContentVersion</property> depends on the type of information that is sent in the HTTP response. For example, if the Content of the HTTP response has a ContentType of text/html, <property namespace="HTTPApp" class="TWebResponse">ContentVersion</property> would be the version of HTML used. </para>
  3469.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Server applications that introduce meanings for the <property namespace="HTTPApp" class="TWebResponse">ContentVersion</property> property should document the interpretation they assign to <property namespace="HTTPApp" class="TWebResponse">ContentVersion</property>.</para>
  3470.          </comments>
  3471.       </member>
  3472.       <member name="P:HTTPApp.HTTPApp.DerivedFrom">
  3473.          <summary>
  3474.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the URI of the resource where the Content of the HTTP response originated.</para>
  3475.          </summary>
  3476.          <comments>
  3477.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">DerivedFrom</property> to the URI where the value of Content originates. It is especially important to set <property namespace="HTTPApp" class="TWebResponse">DerivedFrom</property> when the Content of the HTTP response did not originate from the resource indicated by the URL property of the request object.</para>
  3478.          </comments>
  3479.       </member>
  3480.       <member name="P:HTTPApp.HTTPApp.Title">
  3481.          <summary>
  3482.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies a title for the Content of the HTTP response message.</para>
  3483.          </summary>
  3484.          <comments>
  3485.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set the <property namespace="HTTPApp" class="TWebResponse">Title</property> property to add a <property namespace="HTTPApp" class="TWebResponse">Title</property> header to the HTTP response message. <property namespace="HTTPApp" class="TWebResponse">Title</property> is an optional application-specific title associated with the information included in the message.</para>
  3486.          </comments>
  3487.       </member>
  3488.       <member name="P:HTTPApp.HTTPApp.StatusCode">
  3489.          <summary>
  3490.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the status of the response to the HTTP request message as a 3-digit integer.</para>
  3491.          </summary>
  3492.          <comments>
  3493.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">StatusCode</property> to inform the web client the status of the HTTP request message. Status codes are standard return values that can be interpreted by all web clients. Each status code has a corresponding reason string that provides a human web client with a more understandable indication of the status.</para>
  3494.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The following tables lists the standard status codes and their corresponding reason strings.</para>
  3495.             <table xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3496.                      
  3497.                <tr>
  3498.                         
  3499.                   <th>StatusCode</th>
  3500.                         
  3501.                   <th>ReasonString</th>
  3502.                      
  3503.                </tr>
  3504.                      
  3505.                <tr>
  3506.                         
  3507.                   <td>
  3508.                            
  3509.                      <para>100</para>
  3510.                         
  3511.                   </td>
  3512.                         
  3513.                   <td>
  3514.                            
  3515.                      <para>Continue</para>
  3516.                         
  3517.                   </td>
  3518.                      
  3519.                </tr>
  3520.                      
  3521.                <tr>
  3522.                         
  3523.                   <td>
  3524.                            
  3525.                      <para>101</para>
  3526.                         
  3527.                   </td>
  3528.                         
  3529.                   <td>
  3530.                            
  3531.                      <para>Switching Protocols</para>
  3532.                         
  3533.                   </td>
  3534.                      
  3535.                </tr>
  3536.                      
  3537.                <tr>
  3538.                         
  3539.                   <td>
  3540.                            
  3541.                      <para>200</para>
  3542.                         
  3543.                   </td>
  3544.                         
  3545.                   <td>
  3546.                            
  3547.                      <para>OK</para>
  3548.                         
  3549.                   </td>
  3550.                      
  3551.                </tr>
  3552.                      
  3553.                <tr>
  3554.                         
  3555.                   <td>
  3556.                            
  3557.                      <para>201</para>
  3558.                         
  3559.                   </td>
  3560.                         
  3561.                   <td>
  3562.                            
  3563.                      <para>Created</para>
  3564.                         
  3565.                   </td>
  3566.                      
  3567.                </tr>
  3568.                      
  3569.                <tr>
  3570.                         
  3571.                   <td>
  3572.                            
  3573.                      <para>202</para>
  3574.                         
  3575.                   </td>
  3576.                         
  3577.                   <td>
  3578.                            
  3579.                      <para>Accepted</para>
  3580.                         
  3581.                   </td>
  3582.                      
  3583.                </tr>
  3584.                      
  3585.                <tr>
  3586.                         
  3587.                   <td>
  3588.                            
  3589.                      <para>203</para>
  3590.                         
  3591.                   </td>
  3592.                         
  3593.                   <td>
  3594.                            
  3595.                      <para>Non-Authoritative Information</para>
  3596.                         
  3597.                   </td>
  3598.                      
  3599.                </tr>
  3600.                      
  3601.                <tr>
  3602.                         
  3603.                   <td>
  3604.                            
  3605.                      <para>204</para>
  3606.                         
  3607.                   </td>
  3608.                         
  3609.                   <td>
  3610.                            
  3611.                      <para>No Content</para>
  3612.                         
  3613.                   </td>
  3614.                      
  3615.                </tr>
  3616.                      
  3617.                <tr>
  3618.                         
  3619.                   <td>
  3620.                            
  3621.                      <para>205</para>
  3622.                         
  3623.                   </td>
  3624.                         
  3625.                   <td>
  3626.                            
  3627.                      <para>Reset Content</para>
  3628.                         
  3629.                   </td>
  3630.                      
  3631.                </tr>
  3632.                      
  3633.                <tr>
  3634.                         
  3635.                   <td>
  3636.                            
  3637.                      <para>206</para>
  3638.                         
  3639.                   </td>
  3640.                         
  3641.                   <td>
  3642.                            
  3643.                      <para>Partial Content</para>
  3644.                         
  3645.                   </td>
  3646.                      
  3647.                </tr>
  3648.                      
  3649.                <tr>
  3650.                         
  3651.                   <td>
  3652.                            
  3653.                      <para>300</para>
  3654.                         
  3655.                   </td>
  3656.                         
  3657.                   <td>
  3658.                            
  3659.                      <para>Multiple Choices</para>
  3660.                         
  3661.                   </td>
  3662.                      
  3663.                </tr>
  3664.                      
  3665.                <tr>
  3666.                         
  3667.                   <td>
  3668.                            
  3669.                      <para>301</para>
  3670.                         
  3671.                   </td>
  3672.                         
  3673.                   <td>
  3674.                            
  3675.                      <para>Moved Permanently</para>
  3676.                         
  3677.                   </td>
  3678.                      
  3679.                </tr>
  3680.                      
  3681.                <tr>
  3682.                         
  3683.                   <td>
  3684.                            
  3685.                      <para>302</para>
  3686.                         
  3687.                   </td>
  3688.                         
  3689.                   <td>
  3690.                            
  3691.                      <para>Moved Temporarily</para>
  3692.                         
  3693.                   </td>
  3694.                      
  3695.                </tr>
  3696.                      
  3697.                <tr>
  3698.                         
  3699.                   <td>
  3700.                            
  3701.                      <para>303</para>
  3702.                         
  3703.                   </td>
  3704.                         
  3705.                   <td>
  3706.                            
  3707.                      <para>See Other</para>
  3708.                         
  3709.                   </td>
  3710.                      
  3711.                </tr>
  3712.                      
  3713.                <tr>
  3714.                         
  3715.                   <td>
  3716.                            
  3717.                      <para>304</para>
  3718.                         
  3719.                   </td>
  3720.                         
  3721.                   <td>
  3722.                            
  3723.                      <para>Not Modified</para>
  3724.                         
  3725.                   </td>
  3726.                      
  3727.                </tr>
  3728.                      
  3729.                <tr>
  3730.                         
  3731.                   <td>
  3732.                            
  3733.                      <para>305</para>
  3734.                         
  3735.                   </td>
  3736.                         
  3737.                   <td>
  3738.                            
  3739.                      <para>Use Proxy</para>
  3740.                         
  3741.                   </td>
  3742.                      
  3743.                </tr>
  3744.                      
  3745.                <tr>
  3746.                         
  3747.                   <td>
  3748.                            
  3749.                      <para>400</para>
  3750.                         
  3751.                   </td>
  3752.                         
  3753.                   <td>
  3754.                            
  3755.                      <para>Bad Request</para>
  3756.                         
  3757.                   </td>
  3758.                      
  3759.                </tr>
  3760.                      
  3761.                <tr>
  3762.                         
  3763.                   <td>
  3764.                            
  3765.                      <para>401</para>
  3766.                         
  3767.                   </td>
  3768.                         
  3769.                   <td>
  3770.                            
  3771.                      <para>Unauthorized</para>
  3772.                         
  3773.                   </td>
  3774.                      
  3775.                </tr>
  3776.                      
  3777.                <tr>
  3778.                         
  3779.                   <td>
  3780.                            
  3781.                      <para>402</para>
  3782.                         
  3783.                   </td>
  3784.                         
  3785.                   <td>
  3786.                            
  3787.                      <para>Payment Required</para>
  3788.                         
  3789.                   </td>
  3790.                      
  3791.                </tr>
  3792.                      
  3793.                <tr>
  3794.                         
  3795.                   <td>
  3796.                            
  3797.                      <para>403</para>
  3798.                         
  3799.                   </td>
  3800.                         
  3801.                   <td>
  3802.                            
  3803.                      <para>Forbidden</para>
  3804.                         
  3805.                   </td>
  3806.                      
  3807.                </tr>
  3808.                      
  3809.                <tr>
  3810.                         
  3811.                   <td>
  3812.                            
  3813.                      <para>404</para>
  3814.                         
  3815.                   </td>
  3816.                         
  3817.                   <td>
  3818.                            
  3819.                      <para>Not Found</para>
  3820.                         
  3821.                   </td>
  3822.                      
  3823.                </tr>
  3824.                      
  3825.                <tr>
  3826.                         
  3827.                   <td>
  3828.                            
  3829.                      <para>405</para>
  3830.                         
  3831.                   </td>
  3832.                         
  3833.                   <td>
  3834.                            
  3835.                      <para>Method Not Allowed</para>
  3836.                         
  3837.                   </td>
  3838.                      
  3839.                </tr>
  3840.                      
  3841.                <tr>
  3842.                         
  3843.                   <td>
  3844.                            
  3845.                      <para>406</para>
  3846.                         
  3847.                   </td>
  3848.                         
  3849.                   <td>
  3850.                            
  3851.                      <para>Not Acceptable</para>
  3852.                         
  3853.                   </td>
  3854.                      
  3855.                </tr>
  3856.                      
  3857.                <tr>
  3858.                         
  3859.                   <td>
  3860.                            
  3861.                      <para>407</para>
  3862.                         
  3863.                   </td>
  3864.                         
  3865.                   <td>
  3866.                            
  3867.                      <para>Proxy Authentication Required</para>
  3868.                         
  3869.                   </td>
  3870.                      
  3871.                </tr>
  3872.                      
  3873.                <tr>
  3874.                         
  3875.                   <td>
  3876.                            
  3877.                      <para>408</para>
  3878.                         
  3879.                   </td>
  3880.                         
  3881.                   <td>
  3882.                            
  3883.                      <para>Request Time-out</para>
  3884.                         
  3885.                   </td>
  3886.                      
  3887.                </tr>
  3888.                      
  3889.                <tr>
  3890.                         
  3891.                   <td>
  3892.                            
  3893.                      <para>409</para>
  3894.                         
  3895.                   </td>
  3896.                         
  3897.                   <td>
  3898.                            
  3899.                      <para>Conflict</para>
  3900.                         
  3901.                   </td>
  3902.                      
  3903.                </tr>
  3904.                      
  3905.                <tr>
  3906.                         
  3907.                   <td>
  3908.                            
  3909.                      <para>410</para>
  3910.                         
  3911.                   </td>
  3912.                         
  3913.                   <td>
  3914.                            
  3915.                      <para>Gone</para>
  3916.                         
  3917.                   </td>
  3918.                      
  3919.                </tr>
  3920.                      
  3921.                <tr>
  3922.                         
  3923.                   <td>
  3924.                            
  3925.                      <para>411</para>
  3926.                         
  3927.                   </td>
  3928.                         
  3929.                   <td>
  3930.                            
  3931.                      <para>Length Required</para>
  3932.                         
  3933.                   </td>
  3934.                      
  3935.                </tr>
  3936.                      
  3937.                <tr>
  3938.                         
  3939.                   <td>
  3940.                            
  3941.                      <para>412</para>
  3942.                         
  3943.                   </td>
  3944.                         
  3945.                   <td>
  3946.                            
  3947.                      <para>Precondition Failed</para>
  3948.                         
  3949.                   </td>
  3950.                      
  3951.                </tr>
  3952.                      
  3953.                <tr>
  3954.                         
  3955.                   <td>
  3956.                            
  3957.                      <para>413</para>
  3958.                         
  3959.                   </td>
  3960.                         
  3961.                   <td>
  3962.                            
  3963.                      <para>Request Entity Too Large</para>
  3964.                         
  3965.                   </td>
  3966.                      
  3967.                </tr>
  3968.                      
  3969.                <tr>
  3970.                         
  3971.                   <td>
  3972.                            
  3973.                      <para>414</para>
  3974.                         
  3975.                   </td>
  3976.                         
  3977.                   <td>
  3978.                            
  3979.                      <para>Request-URI Too Large</para>
  3980.                         
  3981.                   </td>
  3982.                      
  3983.                </tr>
  3984.                      
  3985.                <tr>
  3986.                         
  3987.                   <td>
  3988.                            
  3989.                      <para>415</para>
  3990.                         
  3991.                   </td>
  3992.                         
  3993.                   <td>
  3994.                            
  3995.                      <para>Unsupported Media Type</para>
  3996.                         
  3997.                   </td>
  3998.                      
  3999.                </tr>
  4000.                      
  4001.                <tr>
  4002.                         
  4003.                   <td>
  4004.                            
  4005.                      <para>500</para>
  4006.                         
  4007.                   </td>
  4008.                         
  4009.                   <td>
  4010.                            
  4011.                      <para>Internal Server Error</para>
  4012.                         
  4013.                   </td>
  4014.                      
  4015.                </tr>
  4016.                      
  4017.                <tr>
  4018.                         
  4019.                   <td>
  4020.                            
  4021.                      <para>501</para>
  4022.                         
  4023.                   </td>
  4024.                         
  4025.                   <td>
  4026.                            
  4027.                      <para>Not Implemented</para>
  4028.                         
  4029.                   </td>
  4030.                      
  4031.                </tr>
  4032.                      
  4033.                <tr>
  4034.                         
  4035.                   <td>
  4036.                            
  4037.                      <para>502</para>
  4038.                         
  4039.                   </td>
  4040.                         
  4041.                   <td>
  4042.                            
  4043.                      <para>Bad Gateway</para>
  4044.                         
  4045.                   </td>
  4046.                      
  4047.                </tr>
  4048.                      
  4049.                <tr>
  4050.                         
  4051.                   <td>
  4052.                            
  4053.                      <para>503</para>
  4054.                         
  4055.                   </td>
  4056.                         
  4057.                   <td>
  4058.                            
  4059.                      <para>Service Unavailable</para>
  4060.                         
  4061.                   </td>
  4062.                      
  4063.                </tr>
  4064.                      
  4065.                <tr>
  4066.                         
  4067.                   <td>
  4068.                            
  4069.                      <para>504</para>
  4070.                         
  4071.                   </td>
  4072.                         
  4073.                   <td>
  4074.                            
  4075.                      <para>Gateway Time-out</para>
  4076.                         
  4077.                   </td>
  4078.                      
  4079.                </tr>
  4080.                      
  4081.                <tr>
  4082.                         
  4083.                   <td>
  4084.                            
  4085.                      <para>505</para>
  4086.                         
  4087.                   </td>
  4088.                         
  4089.                   <td>
  4090.                            
  4091.                      <para>HTTP Version not supported</para>
  4092.                         
  4093.                   </td>
  4094.                      
  4095.                </tr>
  4096.                   
  4097.             </table>
  4098.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Status codes not in the table can be created by the server application. When creating a new status code, the most significant digit should indicate the class of response, as follows:</para>
  4099.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1xx: Informational (Request received, continuing process)</para>
  4100.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2xx: Success (Request received, understood, and accepted)</para>
  4101.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">3xx: Redirection (Further action needed to complete the request)</para>
  4102.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4xx: Client Error (Request contains bad syntax or cannot be serviced)</para>
  4103.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">5xx: Server Error (Server failed to handle a valid request)</para>
  4104.          </comments>
  4105.       </member>
  4106.       <member name="P:HTTPApp.HTTPApp.ContentLength">
  4107.          <summary>
  4108.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the length, in bytes, of the Content property.</para>
  4109.          </summary>
  4110.          <comments>
  4111.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">ContentLength</property> to the length of the Content property, if it is known. If the length of the Content property is unknown, or if the response message does not include any content, set <property namespace="HTTPApp" class="TWebResponse">ContentLength</property> to 0. Web clients use the <property namespace="HTTPApp" class="TWebResponse">ContentLength</property> when reading the contents of the HTTP response message.</para>
  4112.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If the contents of the response message are taken from a stream, the value of <property namespace="HTTPApp" class="TWebResponse">ContentLength</property> is set from the stream.</para>
  4113.          </comments>
  4114.       </member>
  4115.       <member name="P:HTTPApp.HTTPApp.Date">
  4116.          <summary>
  4117.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the time and date when the HTTP response message is sent to the web client.</para>
  4118.          </summary>
  4119.          <comments>
  4120.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">Date</property> to the current date and time immediately before sending the HTTP response message to the web client. The Web client uses <property namespace="HTTPApp" class="TWebResponse">Date</property> to determine the age of the information returned.</para>
  4121.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4122.                      
  4123.                <property namespace="HTTPApp" class="TWebResponse">Date</property> is represented using the T<property namespace="HTTPApp" class="TWebResponse">Date</property>Time type. The integral part of a T<property namespace="HTTPApp" class="TWebResponse">Date</property>Time value is the number of days that have passed since December 30, 1899. The fractional part of a T<property namespace="HTTPApp" class="TWebResponse">Date</property>Time value is the fraction of a 24-hour day that has elapsed.</para>
  4124.          </comments>
  4125.       </member>
  4126.       <member name="P:HTTPApp.HTTPApp.Expires">
  4127.          <summary>
  4128.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the date and time after which the Content of the HTTP response message should be considered invalid.</para>
  4129.          </summary>
  4130.          <comments>
  4131.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">Expires</property> when the Content of the HTTP response message contains information that may become invalid with the passage of time. Setting an <property namespace="HTTPApp" class="TWebResponse">Expires</property> value does not imply that the information or its source will necessarily change or cease to exist when the <property namespace="HTTPApp" class="TWebResponse">Expires</property> date and time is reached. Web clients are simply warned to check the freshness of the information after the <property namespace="HTTPApp" class="TWebResponse">Expires</property> date and time.</para>
  4132.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The value of <property namespace="HTTPApp" class="TWebResponse">Expires</property> is specified in Greenwich Mean Time.</para>
  4133.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4134.                      
  4135.                <property namespace="HTTPApp" class="TWebResponse">Expires</property> is represented using the TDateTime type. The integral part of a TDateTime value is the number of days that have passed since December 30, 1899. The fractional part of a TDateTime value is the fraction of a 24-hour day that has elapsed.</para>
  4136.          </comments>
  4137.       </member>
  4138.       <member name="P:HTTPApp.HTTPApp.LastModified">
  4139.          <summary>
  4140.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the date and time that the value of the Content property was last updated.</para>
  4141.          </summary>
  4142.          <comments>
  4143.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">LastModified</property> to indicate the last time the Content of the response was modified. This allows web clients to determine whether their local version of that information is up-to-date. When the HTTP request is a HEAD message, this may allow the web client and server to skip a potentially expensive transfer of information.</para>
  4144.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The value of <property namespace="HTTPApp" class="TWebResponse">LastModified</property> is specified in the local time of the machine. The HTTP response message translates this value to the date encoding used by HTTP.</para>
  4145.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4146.                      
  4147.                <property namespace="HTTPApp" class="TWebResponse">LastModified</property> is represented using the TDateTime type. The integral part of a TDateTime value is the number of days that have passed since December 30, 1899. The fractional part of a TDateTime value is the fraction of a 24-hour day that has elapsed.</para>
  4148.          </comments>
  4149.       </member>
  4150.       <member name="P:HTTPApp.HTTPApp.Content">
  4151.          <summary>
  4152.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Contains the information sent to the web client in response to an HTTP request message.</para>
  4153.          </summary>
  4154.          <comments>
  4155.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebResponse">Content</property> to send requested information to the web client. Not every HTTP request message requires content to be returned. For example, responses to requests with a Method of OPTIONS, HEAD, POST, PUT, DELETE, or TRACE should not include any <property namespace="HTTPApp" class="TWebResponse">Content</property>. In all these cases, the response information is contained entirely in the response header, which is built from the other properties of the <property namespace="HTTPApp" class="TWebResponse">TWebResponse</property> object.</para>
  4156.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The response content can be a string of HTML commands, the name of an HTML file, graphic content such as a bit-stream, or any other MIME content type.</para>
  4157.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4158.                      
  4159.                <para>If the <property namespace="HTTPApp" class="TWebResponse">Content</property>Stream property is set, it supersedes the value of the <property namespace="HTTPApp" class="TWebResponse">Content</property> property. If both <property namespace="HTTPApp" class="TWebResponse">Content</property> and <property namespace="HTTPApp" class="TWebResponse">Content</property>Stream are set, the web client is sent the value of the <property namespace="HTTPApp" class="TWebResponse">Content</property>Stream, not the value of the <property namespace="HTTPApp" class="TWebResponse">Content</property> property.</para>
  4160.                   
  4161.             </note>
  4162.          </comments>
  4163.       </member>
  4164.       <member name="P:HTTPApp.HTTPApp.ContentStream">
  4165.          <summary>
  4166.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the stream object for writing the contents of the HTTP response message to the web client.</para>
  4167.          </summary>
  4168.          <comments>
  4169.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebResponse">ContentStream</property> to set the contents of the HTTP response message to a value that can be written from a stream. <property namespace="HTTPApp" class="TWebResponse">ContentStream</property> allows the response object to write its contents directly from a stream.</para>
  4170.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The stream specified by <property namespace="HTTPApp" class="TWebResponse">ContentStream</property> can access a string of HTML commands, the contents of a BLOB database field, or any MIME content type.</para>
  4171.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4172.                      
  4173.                <para>
  4174.                         
  4175.                   <property namespace="HTTPApp" class="TWebResponse">ContentStream</property> supersedes the Content property. If both Content and <property namespace="HTTPApp" class="TWebResponse">ContentStream</property> are set, the web client is sent the value of the <property namespace="HTTPApp" class="TWebResponse">ContentStream</property>, not the value of the Content property.</para>
  4176.                   
  4177.             </note>
  4178.          </comments>
  4179.       </member>
  4180.       <member name="P:HTTPApp.HTTPApp.LogMessage">
  4181.          <summary>
  4182.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Describes the HTTP response message for event logging purposes.</para>
  4183.          </summary>
  4184.          <comments>
  4185.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebResponse">LogMessage</property> to a description of the action carried out by the TWebActionItem object that services this HTTP response. Usually, <property namespace="HTTPApp" class="TWebResponse">LogMessage</property> includes the URI that handled the request message, along with date and time information.</para>
  4186.          </comments>
  4187.       </member>
  4188.       <member name="P:HTTPApp.HTTPApp.CustomHeaders">
  4189.          <summary>
  4190.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists message header strings that are added to the response message before it is sent.</para>
  4191.          </summary>
  4192.          <comments>
  4193.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebResponse">CustomHeaders</property> to add header information to the response that can not be specified using the other properties of <property namespace="HTTPApp" class="TWebResponse">TWebResponse</property>. Each string in the <property namespace="HTTPApp" class="TWebResponse">CustomHeaders</property> property has the form HeaderName=Value, where HeaderName specifies the name of the header, and Value is the value for that header, formatted as a string.</para>
  4194.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4195.                      
  4196.                <para>Setting the <property namespace="HTTPApp" class="TWebResponse">CustomHeaders</property> property assigns a set of strings to the custom headers list. It does not replace the TStrings object that is the value of <property namespace="HTTPApp" class="TWebResponse">CustomHeaders</property>.</para>
  4197.                   
  4198.             </note>
  4199.             <warning xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4200.                      
  4201.                <para>
  4202.                         
  4203.                   <property namespace="HTTPApp" class="TWebResponse">CustomHeaders</property> includes at most one value for each HeaderName. If the HTTP message includes multiple headers with the same name, only the first header's value will appear in <property namespace="HTTPApp" class="TWebResponse">CustomHeaders</property>.</para>
  4204.                   
  4205.             </warning>
  4206.          </comments>
  4207.       </member>
  4208.       <member name="T:HTTPApp.TAbstractWebSession">
  4209.          <summary>
  4210.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4211.                
  4212.                <class namespace="HTTPApp">TAbstractWebSession</class> is the base class for objects that represent a session in a WebSnap application.</para>
  4213.          </summary>
  4214.          <comments>
  4215.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4216.                
  4217.                <class namespace="HTTPApp">TAbstractWebSession</class> is the base class for all Web session objects. These include active sessions, which are represented by TWebSession objects, and invalid sessions (TInvalidWebSession), which are used to represent sessions that can no longer be used because they have expired.</para>
  4218.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">A Web session has an ID and a list of name/value pairs. The ID is a random number that uniquely identifies the session. The name/value pairs are used to associate information with the ID. The values are variants. You can use these named Variants to store application-defined information that is associated with a single user. In this way, the information can persist over multiple calls from the same user.</para>
  4219.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The session ID is stored on the end user's computer using a cookie. When a request is received, the WebSnap application examines the cookie. If a session associated with this cookie exists, then it becomes the current session.</para>
  4220.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">There is no need to instantiate session objects. A Session is created automatically when the WebSnap application receives an HTTP request message. </para>
  4221.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When the current session is terminated, its session ID and name/value pairs are discarded. For example, the current session is typically terminated when the user logs out. Sessions can also be terminated when they are not accessed within a specified time-out period, or when the application explicitly calls the session's Terminate method. A new session is created after a session has been terminated.</para>
  4222.          </comments>
  4223.       </member>
  4224.       <member name="M:HTTPApp.HTTPApp.UpdateResponse">
  4225.          <summary>
  4226.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Adds the session ID to a cookie in a response message.</para>
  4227.          </summary>
  4228.          <comments>
  4229.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TAbstractWebSession">UpdateResponse</method> to add the value of the SessionID property to one of the response message's cookies. This allows the user's next request message to use the Values stored in this session. </para>
  4230.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AResponse is the Web response message to which a cookie with the session ID should be added. </para>
  4231.          </comments>
  4232.       </member>
  4233.       <member name="M:HTTPApp.HTTPApp.Terminate">
  4234.          <summary>
  4235.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4236.                      
  4237.                <method namespace="HTTPApp" class="TAbstractWebSession">Terminate</method>s the session.</para>
  4238.          </summary>
  4239.          <comments>
  4240.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TAbstractWebSession">Terminate</method> to explicitly terminate a session. Once a session terminates, the application can no longer access its Values.</para>
  4241.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sessions are terminated automatically when the application does not receive any requests for the session for TimoutMinutes minutes. </para>
  4242.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <method namespace="HTTPApp" class="TAbstractWebSession">TAbstractWebSession</method>, <method namespace="HTTPApp" class="TAbstractWebSession">Terminate</method> is abstract or, in C++ terminology, pure virtual, meaning it has no implementation. Descendant classes must override this method to provide an implementation.</para>
  4243.          </comments>
  4244.       </member>
  4245.       <member name="P:HTTPApp.HTTPApp.TimeoutMinutes">
  4246.          <summary>
  4247.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the time, in minutes, that a session can be idle before it terminates itself.</para>
  4248.          </summary>
  4249.          <comments>
  4250.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TAbstractWebSession">TimeoutMinutes</property> to specify the number of minutes that can elapse before a session times out. If this number of minutes elapses with no request messages that call for the session, the session is terminated.</para>
  4251.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If you do not specify a value for <property namespace="HTTPApp" class="TAbstractWebSession">TimeoutMinutes</property>, the session times out after the default time-out period associated with the application's sessions service (TSessionsService).</para>
  4252.          </comments>
  4253.       </member>
  4254.       <member name="P:HTTPApp.HTTPApp.Values">
  4255.          <summary>
  4256.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the named values that the session stores.</para>
  4257.          </summary>
  4258.          <comments>
  4259.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TAbstractWebSession">Values</property> to get or set the information that the session stores. Because sessions are associated with individual users, this information typically represents information about the user or choices the user makes. The <property namespace="HTTPApp" class="TAbstractWebSession">Values</property> property can be used to implement application-specific tasks, such as saving user preferences or maintaining a list user selections.</para>
  4260.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Each value is indexed by a name that indicates its meaning. The names can be any application-defined string.</para>
  4261.          </comments>
  4262.       </member>
  4263.       <member name="P:HTTPApp.HTTPApp.SessionID">
  4264.          <summary>
  4265.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Uniquely identifies the Session.</para>
  4266.          </summary>
  4267.          <comments>
  4268.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4269.                      
  4270.                <property namespace="HTTPApp" class="TAbstractWebSession">SessionID</property> is an automatically-generated identifier that uniquely identifies the session. The UpdateResponse method adds this identifier to response messages, using a cookie. When the WebSnap application receives a request containing a cookie with a session ID, the WebSnap application uses the ID to recreate a copy of the previous session object.</para>
  4271.          </comments>
  4272.       </member>
  4273.       <member name="T:HTTPApp.IProduceContent">
  4274.          <summary>
  4275.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4276.                
  4277.                <class namespace="HTTPApp">IProduceContent</class> is the interface for generating the content of a Web page.</para>
  4278.          </summary>
  4279.          <comments>
  4280.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Content producers (such as TAdapaterPageProducer) implement the <class namespace="HTTPApp">IProduceContent</class> interface. This interface defines a single method, ProduceContent, which returns the content to assign to an HTTP response message in a WebSnap application.</para>
  4281.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4282.                
  4283.                <para>In C++, method declarations that use <class namespace="HTTPApp">IProduceContent</class> use the _di_<class namespace="HTTPApp">IProduceContent</class> type instead. This type is a DelphiInterface wrapper around the <class namespace="HTTPApp">IProduceContent</class> interface:</para>
  4284.             
  4285.             </note>
  4286.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4287.                
  4288.                <para>typedef System::DelphiInterface< <class namespace="HTTPApp">IProduceContent</class> >  _di_<class namespace="HTTPApp">IProduceContent</class>;</para>
  4289.             
  4290.             </note>
  4291.          </comments>
  4292.       </member>
  4293.       <member name="M:HTTPApp.HTTPApp.ProduceContent">
  4294.          <summary>
  4295.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the content that the producer creates.</para>
  4296.          </summary>
  4297.          <comments>
  4298.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="IProduceContent">ProduceContent</method> to retrieve the content for using in an HTTP response message. In most cases, this content is a string of HTML commands defining a Web page, although it can be any valid MIME type.</para>
  4299.          </comments>
  4300.       </member>
  4301.       <member name="T:HTTPApp.IWebAppServices">
  4302.          <summary>
  4303.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4304.                
  4305.                <class namespace="HTTPApp">IWebAppServices</class> is the interface for setting up and finishing the processing of HTTP request messages.</para>
  4306.          </summary>
  4307.          <comments>
  4308.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">WebSnap applications use the <class namespace="HTTPApp">IWebAppServices</class> interface to drive the processing of incoming request messages. When the WebSnap application receives an HTTP request message it</para>
  4309.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1. Calls InitContext to set up a Web context for the request.</para>
  4310.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2. Calls HandleRequest to forward the request to the components that process it.</para>
  4311.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">3. Calls FinishContext to shut down the Web context in an orderly fashion.</para>
  4312.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In addition to providing access to these core methods of the application, <class namespace="HTTPApp">IWebAppServices</class> introduces the ExceptionHandler property. The ExceptionHandler property allows the application access to the component that handles any exceptions that escape all of the try blocks in the application while processing the message.</para>
  4313.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4314.                
  4315.                <para>Method declarations that use <class namespace="HTTPApp">IWebAppServices</class> use the _di_<class namespace="HTTPApp">IWebAppServices</class> type instead. This type is a DelphiInterface wrapper around the <class namespace="HTTPApp">IWebAppServices</class> interface:</para>
  4316.             
  4317.             </note>
  4318.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4319.                
  4320.                <para>typedef System::DelphiInterface< <class namespace="HTTPApp">IWebAppServices</class> >  _di_<class namespace="HTTPApp">IWebAppServices</class>;</para>
  4321.             
  4322.             </note>
  4323.          </comments>
  4324.       </member>
  4325.       <member name="M:HTTPApp.HTTPApp.HandleRequest">
  4326.          <summary>
  4327.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Directs the processing of the current request message.</para>
  4328.          </summary>
  4329.          <comments>
  4330.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When the WebSnap application receives a request message, it makes the following calls:</para>
  4331.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1. The InitContext method is called to generate a Web context for the request.</para>
  4332.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2. <method namespace="HTTPApp" class="IWebAppServices">HandleRequest</method> is called to generate a response to the request.</para>
  4333.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">3. FinishContext is called to perform any final cleanup.</para>
  4334.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4335.                      
  4336.                <method namespace="HTTPApp" class="IWebAppServices">HandleRequest</method> locates the dispatcher components that handle the request and forwards the request to a dispatcher for processing.</para>
  4337.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4338.                      
  4339.                <method namespace="HTTPApp" class="IWebAppServices">HandleRequest</method> returns true if the request is handled and the response should be sent back to the caller (if it was not already sent). It returns false if the WebSnap application could not handle the request.</para>
  4340.          </comments>
  4341.       </member>
  4342.       <member name="M:HTTPApp.HTTPApp.InitContext">
  4343.          <summary>
  4344.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates and initializes the Web context for the current Web request.</para>
  4345.          </summary>
  4346.          <comments>
  4347.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4348.                      
  4349.                <method namespace="HTTPApp" class="IWebAppServices">InitContext</method> is called when the WebSnap application first receives a request message to set up the Web context before the application attempts to handle the request. It creates and sets up the global Web context, which can be accessed by calling the global WebContext function. It also performs any other initializations that ready the application for handling a new request message.</para>
  4350.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">WebModuleList lists the currently active Web modules in the WebSnap application and provides access to all Web module factories so that the application can create any new modules it needs for processing the request message.</para>
  4351.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Request describes the new request message.</para>
  4352.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Response is the response object that the WebSnap application should fill out when handling the current request.</para>
  4353.          </comments>
  4354.       </member>
  4355.       <member name="M:HTTPApp.HTTPApp.FinishContext">
  4356.          <summary>
  4357.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Performs any final tasks after the WebSnap application has finished processing a request.</para>
  4358.          </summary>
  4359.          <comments>
  4360.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4361.                      
  4362.                <method namespace="HTTPApp" class="IWebAppServices">FinishContext</method> is called as the last step before a WebSnap application sends a response message back to the caller. <method namespace="HTTPApp" class="IWebAppServices">FinishContext</method> performs any final tasks, and frees all the objects and components that were created to handle the request message (including the Web context).</para>
  4363.          </comments>
  4364.       </member>
  4365.       <member name="P:HTTPApp.HTTPApp.ExceptionHandler">
  4366.          <summary>
  4367.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the object that handles exceptions that arise when processing a request message.</para>
  4368.          </summary>
  4369.          <comments>
  4370.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4371.                      
  4372.                <property namespace="HTTPApp" class="IWebAppServices">ExceptionHandler</property> is the object that the WebSnap application calls when an exception is raised while trying to process a request message. The request handler must implement the IWeb<property namespace="HTTPApp" class="IWebAppServices">ExceptionHandler</property> interface, which includes only a single method: HandleException.</para>
  4373.          </comments>
  4374.       </member>
  4375.       <member name="T:HTTPApp.IWebRequestHandler">
  4376.          <summary>
  4377.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4378.                
  4379.                <class namespace="HTTPApp">IWebRequestHandler</class> is the interface for objects that dispatch HTTP request messages.</para>
  4380.          </summary>
  4381.          <comments>
  4382.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Dispatcher components such as TPageDispatcher , TAdapterDispatcher, and TWebDispatcher implement the <class namespace="HTTPApp">IWebRequestHandler</class> interface. This interface includes only a single method, HandleRequest, which processes an HTTP request message, filling out the corresponding response, which can then be returned to the caller.</para>
  4383.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4384.                
  4385.                <para>In C++, method declarations that use <class namespace="HTTPApp">IWebRequestHandler</class> use the _di_<class namespace="HTTPApp">IWebRequestHandler</class> type instead. This type is a DelphiInterface wrapper around the <class namespace="HTTPApp">IWebRequestHandler</class> interface:</para>
  4386.             
  4387.             </note>
  4388.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4389.                
  4390.                <para>typedef System::DelphiInterface< <class namespace="HTTPApp">IWebRequestHandler</class> >  _di_<class namespace="HTTPApp">IWebRequestHandler</class>;</para>
  4391.             
  4392.             </note>
  4393.          </comments>
  4394.       </member>
  4395.       <member name="M:HTTPApp.HTTPApp.HandleRequest">
  4396.          <summary>
  4397.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Processes an HTTP request message.</para>
  4398.          </summary>
  4399.          <comments>
  4400.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="IWebRequestHandler">HandleRequest</method> to process an HTTP request message and obtain the response that should be sent back to the caller.</para>
  4401.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Request is the request object that describes the request to process.</para>
  4402.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Response is the response object that should be filled out when the request is processed.</para>
  4403.          </comments>
  4404.       </member>
  4405.       <member name="T:HTTPApp.IWebDispatchActions">
  4406.          <summary>
  4407.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4408.                
  4409.                <class namespace="HTTPApp">IWebDispatchActions</class> is the interface for components that dispatch HTTP request messages using action items.</para>
  4410.          </summary>
  4411.          <comments>
  4412.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Web dispatcher components (TWebDispatcher and TWebModule) implement the <class namespace="HTTPApp">IWebDispatchActions</class> interface. This interface serves primarily to identify components that use action items to handle HTTP request messages.</para>
  4413.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">To obtain an <class namespace="HTTPApp">IWebDispatchActions</class> interface, use the DispatchActions property of a TWebAppComponents object.</para>
  4414.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4415.                
  4416.                <para>In C++, method declarations that use <class namespace="HTTPApp">IWebDispatchActions</class> use the _di_<class namespace="HTTPApp">IWebDispatchActions</class> type instead. This type is a DelphiInterface wrapper around the <class namespace="HTTPApp">IWebDispatchActions</class> interface:</para>
  4417.             
  4418.             </note>
  4419.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4420.                
  4421.                <para>typedef System::DelphiInterface< <class namespace="HTTPApp">IWebDispatchActions</class> >  _di_<class namespace="HTTPApp">IWebDispatchActions</class>;</para>
  4422.             
  4423.             </note>
  4424.          </comments>
  4425.       </member>
  4426.       <member name="T:HTTPApp.IWebDispatcherAccess">
  4427.          <summary>
  4428.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4429.                
  4430.                <class namespace="HTTPApp">IWebDispatcherAccess</class> provides access to the current HTTP request and response object.</para>
  4431.          </summary>
  4432.          <comments>
  4433.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <class namespace="HTTPApp">IWebDispatcherAccess</class> interface declares two methods, Request and Response. These return the objects that represent the current HTTP request message that is being processed and the emerging HTTP response message that will be sent back to the caller.</para>
  4434.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In Web Broker applications, a TWebDispatcher or TWebModule component implements this interface. <condition os="Windows">In WebSnap applications, a TWebAppComponents component implements this interface.</condition>
  4435.             
  4436.             </para>
  4437.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4438.                
  4439.                <para>In C++, method declarations that use <class namespace="HTTPApp">IWebDispatcherAccess</class> use the _di_<class namespace="HTTPApp">IWebDispatcherAccess</class> type instead. This type is a DelphiInterface wrapper around the <class namespace="HTTPApp">IWebDispatcherAccess</class> interface:</para>
  4440.             
  4441.             </note>
  4442.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4443.                
  4444.                <para>typedef System::DelphiInterface< <class namespace="HTTPApp">IWebDispatcherAccess</class> >  _di_<class namespace="HTTPApp">IWebDispatcherAccess</class>;</para>
  4445.             
  4446.             </note>
  4447.          </comments>
  4448.       </member>
  4449.       <member name="M:HTTPApp.HTTPApp.Request">
  4450.          <summary>
  4451.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the Web request object for the HTTP request message to which the application is responding.</para>
  4452.          </summary>
  4453.          <comments>
  4454.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="IWebDispatcherAccess">Request</method> to obtain access to the current Web request object. The request object provides access to the headers of the request message, as well as the content of the message.</para>
  4455.          </comments>
  4456.       </member>
  4457.       <member name="M:HTTPApp.HTTPApp.Response">
  4458.          <summary>
  4459.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the Web response object for the HTTP response message that the application is assembling.</para>
  4460.          </summary>
  4461.          <comments>
  4462.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="IWebDispatcherAccess">Response</method> to obtain access to the current Web response object. The response object provides access to the headers of the response message, as well as the content of the message.</para>
  4463.          </comments>
  4464.       </member>
  4465.       <member name="T:HTTPApp.TCustomContentProducer">
  4466.          <summary>
  4467.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4468.                
  4469.                <class namespace="HTTPApp">TCustomContentProducer</class> is the base class for all objects that produce the string that is sent as the contents of an HTTP response message.</para>
  4470.          </summary>
  4471.          <comments>
  4472.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="HTTPApp">TCustomContentProducer</class> as a base class when defining a class to produce the contents of an HTTP response message. In most cases, the content producer will assemble a string of HTML commands. However, descendants of <class namespace="HTTPApp">TCustomContentProducer</class> can be defined to produce any valid MIME type.</para>
  4473.          </comments>
  4474.       </member>
  4475.       <member name="M:HTTPApp.HTTPApp.Content">
  4476.          <summary>
  4477.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the content produced by the content producer.</para>
  4478.          </summary>
  4479.          <comments>
  4480.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TCustomContentProducer">Content</method> to retrieve the content for using in an HTTP response message. TCustom<method namespace="HTTPApp" class="TCustomContentProducer">Content</method>Producer returns an empty string. Descendants of TCustom<method namespace="HTTPApp" class="TCustomContentProducer">Content</method>Producer return the value of the content that they produce. In most cases, this content is a string of HTML commands, although it can be any valid MIME type.</para>
  4481.          </comments>
  4482.       </member>
  4483.       <member name="M:HTTPApp.HTTPApp.ContentFromStream">
  4484.          <summary>
  4485.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the content produced in response to input read from a stream.</para>
  4486.          </summary>
  4487.          <comments>
  4488.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TCustomContentProducer">ContentFromStream</method> to retrieve the content produced by the content producer based on the information provided by the Stream parameter. <method namespace="HTTPApp" class="TCustomContentProducer">TCustomContentProducer</method> ignores the Stream parameter and returns the value created by the Content method. </para>
  4489.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Descendants of <method namespace="HTTPApp" class="TCustomContentProducer">TCustomContentProducer</method> override this method to interpret streamed input in their own way.</para>
  4490.          </comments>
  4491.       </member>
  4492.       <member name="M:HTTPApp.HTTPApp.ContentFromString">
  4493.          <summary>
  4494.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the content produced in response to an input string.</para>
  4495.          </summary>
  4496.          <comments>
  4497.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TCustomContentProducer">ContentFromString</method> to retrieve the content produced by the content producer based on the information provided by the S parameter. <method namespace="HTTPApp" class="TCustomContentProducer">TCustomContentProducer</method> ignores the string and returns the value created by the Content method. </para>
  4498.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Descendants of <method namespace="HTTPApp" class="TCustomContentProducer">TCustomContentProducer</method> override this method to interpret the input string in their own way.</para>
  4499.          </comments>
  4500.       </member>
  4501.       <member name="M:HTTPApp.HTTPApp.Notification">
  4502.          <summary>
  4503.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Overrides the inherited method to respond to messages that the dispatcher is going away.</para>
  4504.          </summary>
  4505.          <comments>
  4506.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">After calling the inherited method, <method namespace="HTTPApp" class="TCustomContentProducer">Notification</method> checks whether this call was triggered by the removal of the dispatcher. If so, the Dispatcher property is set to <condition language="Delphi">nil.</condition>
  4507.                      
  4508.                <condition language="CBuilder">NULL.</condition>
  4509.                   
  4510.             </para>
  4511.          </comments>
  4512.       </member>
  4513.       <member name="P:HTTPApp.HTTPApp.Dispatcher">
  4514.          <summary>
  4515.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the dispatcher for the Web server application that includes the <property namespace="HTTPApp" class="TCustomContentProducer">TCustomContentProducer</property> object.</para>
  4516.          </summary>
  4517.          <comments>
  4518.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TCustomContentProducer">Dispatcher</property> to access the interface of the dispatcher. In Web Broker applications, this is the interface of a TWeb<property namespace="HTTPApp" class="TCustomContentProducer">Dispatcher</property> or TWebModule component. In WebSnap applications, this is the interface of a TWebAppComponents component. </para>
  4519.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The IWeb<property namespace="HTTPApp" class="TCustomContentProducer">Dispatcher</property>Access interface has two methods:</para>
  4520.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Request, which returns the HTTP request message to which this component responds.</para>
  4521.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Response, which returns the HTTP response message for which this component generates content.</para>
  4522.          </comments>
  4523.       </member>
  4524.       <member name="P:HTTPApp.HTTPApp.DispatcherComponent">
  4525.          <summary>
  4526.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the dispatcher component.</para>
  4527.          </summary>
  4528.          <comments>
  4529.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Dispatcher component is the component that implements the interface that is the value of the Dispatcher property. The content producer uses this property so that it can respond to notifications when the component is freed. To use the dispatcher, use the Dispatcher property instead.</para>
  4530.          </comments>
  4531.       </member>
  4532.       <member name="T:HTTPApp.TWebActionItem">
  4533.          <summary>
  4534.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4535.                
  4536.                <class namespace="HTTPApp">TWebActionItem</class> allows a Web server application to create and send responses to HTTP request messages.</para>
  4537.          </summary>
  4538.          <comments>
  4539.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="HTTPApp">TWebActionItem</class> to assemble the response to a particular type of HTTP request message in a Web server application. Each action item is specific to a particular URI path and HTTP request method.</para>
  4540.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The web dispatcher chooses an appropriate action item to handle an HTTP request message by </para>
  4541.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">matching the path portion of the URI requested by the Web client with the PathInfo property in the <class namespace="HTTPApp">TWebActionItem</class> object</para>
  4542.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">matching the method requested by the Web client with the method type the action item knows how to handle.</para>
  4543.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">An action item handles an HTTP request message automatically using an associated content producer or using its OnAction event handler. The OnAction event handler can read the request message and assemble a response by setting the properties of a TWebResponse object. It can tell the TWebResponse object to send the response message back to the Web client, or allow the TWebApplication object to send the message after other action items have had a chance to add to the response.</para>
  4544.          </comments>
  4545.       </member>
  4546.       <member name="M:HTTPApp.HTTPApp.Create">
  4547.          <summary>
  4548.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4549.                      
  4550.                <method namespace="HTTPApp" class="TWebActionItem">Create</method>s an instance of <method namespace="HTTPApp" class="TWebActionItem">TWebActionItem</method>.</para>
  4551.          </summary>
  4552.          <comments>
  4553.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TWebActionItem">Create</method> to create a <method namespace="HTTPApp" class="TWebActionItem">TWebActionItem</method> object at runtime. Action items created in the action editor at design time are instantiated automatically.</para>
  4554.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">After calling the inherited constructor, <method namespace="HTTPApp" class="TWebActionItem">Create</method> initializes the Enabled property to True, and sets the action item so that it will match any HTTP request targeted to a URI with an empty PathInfo.</para>
  4555.          </comments>
  4556.       </member>
  4557.       <member name="M:HTTPApp.HTTPApp.AssignTo">
  4558.          <summary>
  4559.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Copies the properties of the action item to another action item.</para>
  4560.          </summary>
  4561.          <comments>
  4562.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">To assign the value of one action item to another, use the Assign method of the target action item.</para>
  4563.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4564.                      
  4565.                <method namespace="HTTPApp" class="TWebActionItem">AssignTo</method> enables the Assign method of a target action item to copy the properties of a source action item. <method namespace="HTTPApp" class="TWebActionItem">AssignTo</method> copies the values of the Default, Enabled, MethodType and PathInfo properties to the Dest parameter if it is an action item. If Dest is not an action item, <method namespace="HTTPApp" class="TWebActionItem">AssignTo</method> calls the inherited method.</para>
  4566.          </comments>
  4567.       </member>
  4568.       <member name="M:HTTPApp.HTTPApp.Destroy">
  4569.          <summary>
  4570.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4571.                      
  4572.                <method namespace="HTTPApp" class="TWebActionItem">Destroy</method>s an instance of <method namespace="HTTPApp" class="TWebActionItem">TWebActionItem</method>.</para>
  4573.          </summary>
  4574.          <comments>
  4575.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not call <method namespace="HTTPApp" class="TWebActionItem">Destroy</method> directly in an application. Action items are destroyed when the <method namespace="HTTPApp" class="TWebActionItem">TWebActionItem</method>s object that manages them calls the Free method.</para>
  4576.          </comments>
  4577.       </member>
  4578.       <member name="P:HTTPApp.HTTPApp.Default">
  4579.          <summary>
  4580.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the action item should handle any request that is not handled by another available action item.</para>
  4581.          </summary>
  4582.          <comments>
  4583.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebActionItem">Default</property> to true to make this action item the default action in the list of action items maintained by the TWebDispatcher object. TWebDispatcher attempts to match HTTP request messages to action items by matching the MethodType and PathInfo of the target URI. If no match can be found, the TWebDispatcher invokes the default action item, regardless of its MethodType or PathInfo properties.</para>
  4584.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When an action item is chosen as the default action item, the value of its Enabled property is ignored. Thus, if an action item sets Enabled to false and <property namespace="HTTPApp" class="TWebActionItem">Default</property> to true, TWebDispatcher will first look for a match with any other action item, even if the PathInfo and MethodType of the default action item match the request perfectly. Then, only after all other action items have been rejected, TWebDispatcher selects the default action item. If the default action item is enabled, it may be selected before all other action items have been considered because the MethodType and PathInfo match the request.</para>
  4585.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The default action item must be prepared to generate a response to any HTTP request, for any MethodType and PathInfo. This may consist of simply setting a response status code of 404 (the URI could not be matched) or 405 (the requested method is not supported).</para>
  4586.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Setting <property namespace="HTTPApp" class="TWebActionItem">Default</property> to true sets the <property namespace="HTTPApp" class="TWebActionItem">Default</property> property of the previous default action item to false.</para>
  4587.          </comments>
  4588.       </member>
  4589.       <member name="P:HTTPApp.HTTPApp.Enabled">
  4590.          <summary>
  4591.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the action item can respond to HTTP request messages that match its MethodType and PathInfo properties.</para>
  4592.          </summary>
  4593.          <comments>
  4594.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebActionItem">Enabled</property> to false to disable an action item. TWebDispatcher will ignore disabled action items when it looks for an action item to handle a request.</para>
  4595.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When an action item is chosen as the default action item, the value of its <property namespace="HTTPApp" class="TWebActionItem">Enabled</property> property is ignored. Thus, if an action item sets <property namespace="HTTPApp" class="TWebActionItem">Enabled</property> to false and Default to true, TWebDispatcher will first look for a match with any other action item, even if the PathInfo and MethodType of the default action item match the request perfectly. Then, only after all other action items have been rejected, the TWebDispatcher selects the default action item. If the default action item is enabled, it may be selected before all other action items have been considered because the MethodType and PathInfo match the request.</para>
  4596.          </comments>
  4597.       </member>
  4598.       <member name="P:HTTPApp.HTTPApp.Name">
  4599.          <summary>
  4600.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Identifies an individual action item when it is referenced from other objects.</para>
  4601.          </summary>
  4602.          <comments>
  4603.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebActionItem">Name</property> to uniquely specify an individual action item in code anywhere in the application. For action items, <property namespace="HTTPApp" class="TWebActionItem">Name</property> is equivalent to the Display<property namespace="HTTPApp" class="TWebActionItem">Name</property> property. Therefore, when setting the <property namespace="HTTPApp" class="TWebActionItem">Name</property> property, the new value must not match the Display<property namespace="HTTPApp" class="TWebActionItem">Name</property> of any other action item in the list maintained by TCustomWebDispatcher. Trying to set the <property namespace="HTTPApp" class="TWebActionItem">Name</property> to a Display<property namespace="HTTPApp" class="TWebActionItem">Name</property> that is already in use raises an exception.</para>
  4604.          </comments>
  4605.       </member>
  4606.       <member name="P:HTTPApp.HTTPApp.PathInfo">
  4607.          <summary>
  4608.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the path portion of the Uniform Resource Identifier (URI) for which the action item handles requests.</para>
  4609.          </summary>
  4610.          <comments>
  4611.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebActionItem">PathInfo</property> to the path portion of the URI for the target of any request messages serviced by the action item. TWebDispatcher matches action items to request messages by comparing <property namespace="HTTPApp" class="TWebActionItem">PathInfo</property> with the path portion of the URI specified as the target of the request. If the <property namespace="HTTPApp" class="TWebActionItem">PathInfo</property> properties match, and the MethodType matches, TWebDispatcher invokes the action item to respond to the request message.</para>
  4612.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If the action item has an associated content producer, the value of <property namespace="HTTPApp" class="TWebActionItem">PathInfo</property> is the name of the producer unless it is explicitly changed.</para>
  4613.          </comments>
  4614.       </member>
  4615.       <member name="P:HTTPApp.HTTPApp.Producer">
  4616.          <summary>
  4617.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies a content producer that generates the content of response messages when the action item executes.</para>
  4618.          </summary>
  4619.          <comments>
  4620.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="HTTPApp" class="TWebActionItem">Producer</property> to associate the action item with a content producer of the type TCustomContent<property namespace="HTTPApp" class="TWebActionItem">Producer</property>. (If a content producer of type IProduceContent is used instead of TCustomContent<property namespace="HTTPApp" class="TWebActionItem">Producer</property>, then the property <property namespace="HTTPApp" class="TWebActionItem">Producer</property>Content should be set instead.) If <property namespace="HTTPApp" class="TWebActionItem">Producer</property> is not nil (Delphi) or NULL (C++), then when the web dispatcher passes a request message to the action item, the action item sets the Content property of the response message to the value returned by the producer's Content method. After the content producer has assigned the response's Content property, the action item receives an OnAction event, where it can optionally set other response properties or send the response message.</para>
  4621.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If <property namespace="HTTPApp" class="TWebActionItem">Producer</property> is nil (Delphi) or NULL (C++), the action item must use the OnAction event handler to influence the response message.</para>
  4622.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The properties <property namespace="HTTPApp" class="TWebActionItem">Producer</property> and <property namespace="HTTPApp" class="TWebActionItem">Producer</property>Content are mutually exclusive. If one is set, the other must not be.</para>
  4623.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4624.                      
  4625.                <para>Each content producer can be associated with only one action item at a time. Setting the <property namespace="HTTPApp" class="TWebActionItem">Producer</property> property of one action item causes the Web dispatcher that manages that item to check whether any other action item has its <property namespace="HTTPApp" class="TWebActionItem">Producer</property> property set to the same component. If another action item was associated with the same producer, its <property namespace="HTTPApp" class="TWebActionItem">Producer</property> property is changed to nil (Delphi) or NULL (C++).</para>
  4626.                   
  4627.             </note>
  4628.          </comments>
  4629.       </member>
  4630.       <member name="P:HTTPApp.HTTPApp.ProducerContent">
  4631.          <summary>
  4632.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies a content producer that generates the content of response messages when the action item executes.</para>
  4633.          </summary>
  4634.          <comments>
  4635.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">This property is identical to Producer except for the type of content producer. <property namespace="HTTPApp" class="TWebActionItem">ProducerContent</property> is used when the producer is of type IProduceContent instead of TCustomContentProducer. In the latter case, the property Producer is set instead. Note that Producer and <property namespace="HTTPApp" class="TWebActionItem">ProducerContent</property> are mutually exclusive; if one is set, the other must not be.</para>
  4636.          </comments>
  4637.       </member>
  4638.       <member name="E:HTTPApp.HTTPApp.OnAction">
  4639.          <summary>
  4640.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs when TWebDispatcher matches the action item to a newly-arrived HTTP request message.</para>
  4641.          </summary>
  4642.          <comments>
  4643.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="HTTPApp" class="TWebActionItem">OnAction</event> event handler to respond to HTTP request messages that match the MethodType and PathInfo properties. <event namespace="HTTPApp" class="TWebActionItem">OnAction</event> occurs immediately after the response message's Content property has been initialized by the action item's Producer property (if Producer is set).</para>
  4644.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In an <event namespace="HTTPApp" class="TWebActionItem">OnAction</event> event handler, read Request and perform the requested Method if possible. Set the properties of the Response parameter as appropriate. If the <event namespace="HTTPApp" class="TWebActionItem">OnAction</event> event handler does not service the response, or if it only partially handles the request and must let another action item finish the response, set the Handled parameter to false. </para>
  4645.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">An <event namespace="HTTPApp" class="TWebActionItem">OnAction</event> event handler can call the SendRedirect or SendResponse method of Response to send the HTTP response message to the Web client. If the <event namespace="HTTPApp" class="TWebActionItem">OnAction</event> event handler does not send the response, the Web application will send it after all action items have finished filling in the Response.</para>
  4646.             <tip xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4647.                      
  4648.                <para>The <event namespace="HTTPApp" class="TWebActionItem">OnAction</event> event handler can use descendants of TCustomContentProducer to help assemble the contents of the response message.</para>
  4649.                   
  4650.             </tip>
  4651.          </comments>
  4652.       </member>
  4653.       <member name="T:HTTPApp.TWebActionItems">
  4654.          <summary>
  4655.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4656.                
  4657.                <class namespace="HTTPApp">TWebActionItems</class> is a collection of TWebActionItem objects.</para>
  4658.          </summary>
  4659.          <comments>
  4660.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TCustomWebDispatcher uses <class namespace="HTTPApp">TWebActionItems</class> to store and manipulate the individual action items it manages. <class namespace="HTTPApp">TWebActionItems</class> provides properties and events to</para>
  4661.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Add new action items to the collection.</para>
  4662.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Copy the list of action items from another <class namespace="HTTPApp">TWebActionItems</class>.</para>
  4663.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Get the attributes of specified action items in the collection.</para>
  4664.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Empty the collection of action items.</para>
  4665.          </comments>
  4666.       </member>
  4667.       <member name="M:HTTPApp.HTTPApp.Add">
  4668.          <summary>
  4669.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4670.                      
  4671.                <method namespace="HTTPApp" class="TWebActionItems">Add</method>s a new action item to the end of the collection.</para>
  4672.          </summary>
  4673.          <comments>
  4674.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TWebActionItems">Add</method> to add an action item to the collection of action items managed by the dispatcher. The new item is added to the end of the Items array. <method namespace="HTTPApp" class="TWebActionItems">Add</method> returns the action item so that its properties can be set to specify its use.</para>
  4675.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Because the dispatcher looks through the action items in order when it tries to find an action item to handle an HTTP request message, add any action items that preprocess HTTP requests first. Then add the most specific action items. This way, more general action items will not be matched to request messages before a closer match can be found.</para>
  4676.          </comments>
  4677.       </member>
  4678.       <member name="M:HTTPApp.HTTPApp.Create">
  4679.          <summary>
  4680.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4681.                      
  4682.                <method namespace="HTTPApp" class="TWebActionItems">Create</method>s an instance of <method namespace="HTTPApp" class="TWebActionItems">TWebActionItems</method>.</para>
  4683.          </summary>
  4684.          <comments>
  4685.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not call the constructor for <method namespace="HTTPApp" class="TWebActionItems">TWebActionItems</method>. <method namespace="HTTPApp" class="TWebActionItems">TWebActionItems</method> is tailored to work with TCustomWebDispatcher. The TCustomWebDispatcher object creates <method namespace="HTTPApp" class="TWebActionItems">TWebActionItems</method> in its own constructor.</para>
  4686.          </comments>
  4687.       </member>
  4688.       <member name="P:HTTPApp.HTTPApp.WebDispatcher">
  4689.          <summary>
  4690.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the dispatcher that uses <property namespace="HTTPApp" class="TWebActionItems">TWebActionItems</property> to store and manipulate its action items.</para>
  4691.          </summary>
  4692.          <comments>
  4693.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TWebActionItems">WebDispatcher</property> to get access to the dispatcher object that uses the collection of action items to respond to HTTP request messages.</para>
  4694.          </comments>
  4695.       </member>
  4696.       <member name="P:HTTPApp.HTTPApp.Items">
  4697.          <summary>
  4698.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the TWebActionItem objects stored by this TWebAction<property namespace="HTTPApp" class="TWebActionItems">Items</property> object.</para>
  4699.          </summary>
  4700.          <comments>
  4701.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TWebActionItems">Items</property> to get access to the individual action items stored by the TWebAction<property namespace="HTTPApp" class="TWebActionItems">Items</property> object. <property namespace="HTTPApp" class="TWebActionItems">Items</property> is an indexed array, where the first action item has index 0, the second action item has index 1, and so on. Use <property namespace="HTTPApp" class="TWebActionItems">Items</property> with the Count property to iterate over all the action items in the collection.</para>
  4702.          </comments>
  4703.       </member>
  4704.       <member name="T:HTTPApp.IWebDispatch">
  4705.          <summary>
  4706.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4707.                
  4708.                <varIncomplete/>
  4709.             
  4710.             </para>
  4711.          </summary>
  4712.          <comments>
  4713.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4714.                
  4715.                <varIncomplete/>
  4716.             
  4717.             </para>
  4718.          </comments>
  4719.       </member>
  4720.       <member name="M:HTTPApp.HTTPApp.DispatchRequest">
  4721.          <summary>
  4722.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4723.                      
  4724.                <varIncomplete/>
  4725.                   
  4726.             </para>
  4727.          </summary>
  4728.          <comments>
  4729.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4730.                      
  4731.                <varIncomplete/>
  4732.                   
  4733.             </para>
  4734.          </comments>
  4735.       </member>
  4736.       <member name="P:HTTPApp.HTTPApp.Enabled">
  4737.          <summary>
  4738.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4739.                      
  4740.                <varIncomplete/>
  4741.                   
  4742.             </para>
  4743.          </summary>
  4744.          <comments>
  4745.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4746.                      
  4747.                <varIncomplete/>
  4748.                   
  4749.             </para>
  4750.          </comments>
  4751.       </member>
  4752.       <member name="P:HTTPApp.HTTPApp.Mask">
  4753.          <summary>
  4754.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4755.                      
  4756.                <varIncomplete/>
  4757.                   
  4758.             </para>
  4759.          </summary>
  4760.          <comments>
  4761.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4762.                      
  4763.                <varIncomplete/>
  4764.                   
  4765.             </para>
  4766.          </comments>
  4767.       </member>
  4768.       <member name="T:HTTPApp.TCustomWebDispatcher">
  4769.          <summary>
  4770.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4771.                
  4772.                <class namespace="HTTPApp">TCustomWebDispatcher</class> is the abstract base class for Web dispatcher objects.</para>
  4773.          </summary>
  4774.          <comments>
  4775.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Add a descendant of <class namespace="HTTPApp">TCustomWebDispatcher</class> to a Web application to enable it to respond to HTTP request messages. When a Web application is created, it automatically includes a TWebModule object, which is a descendant of <class namespace="HTTPApp">TCustomWebDispatcher</class>. Keep the default Web module, or replace it with another data module that contains a descendant of <class namespace="HTTPApp">TCustomWebDispatcher</class>, such as TWebDispatcher.</para>
  4776.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4777.                
  4778.                <class namespace="HTTPApp">TCustomWebDispatcher</class> manages the action items that assemble responses to HTTP request messages. When the TWebApplication object receives an HTTP request message, <class namespace="HTTPApp">TCustomWebDispatcher</class> passes the request on to the appropriate action item or action items to service the message.</para>
  4779.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4780.                
  4781.                <class namespace="HTTPApp">TCustomWebDispatcher</class> also keeps track of information about the current HTTP message for the benefit of TCustomContentProducer objects.</para>
  4782.          </comments>
  4783.       </member>
  4784.       <member name="M:HTTPApp.HTTPApp.DoAfterDispatch">
  4785.          <summary>
  4786.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Generates an AfterDispatch event and returns a value that indicates whether the Web application can send the response.</para>
  4787.          </summary>
  4788.          <comments>
  4789.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications cannot call <method namespace="HTTPApp" class="TCustomWebDispatcher">DoAfterDispatch</method>. The DispatchAction method calls <method namespace="HTTPApp" class="TCustomWebDispatcher">DoAfterDispatch</method> after sending the HTTP request message to any matching action items. The DispatchAction method does not call <method namespace="HTTPApp" class="TCustomWebDispatcher">DoAfterDispatch</method> if the HTTP request message was not handled by the action items or by a BeforeDispatch event handler. <method namespace="HTTPApp" class="TCustomWebDispatcher">DoAfterDispatch</method> is also not called if the message was already sent back to the Web client. </para>
  4790.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If the AfterDispatch event handler indicates that the response should not be sent, <method namespace="HTTPApp" class="TCustomWebDispatcher">DoAfterDispatch</method> returns false, and the Web application drops the connection without sending the response message. Otherwise, <method namespace="HTTPApp" class="TCustomWebDispatcher">DoAfterDispatch</method> returns true, and the Web application sends the response message if it was not sent from within the AfterDispatch event handler.</para>
  4791.          </comments>
  4792.       </member>
  4793.       <member name="M:HTTPApp.HTTPApp.DoBeforeDispatch">
  4794.          <summary>
  4795.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Generates a BeforeDispatch event and returns a value that indicates whether the dispatcher should look for action items to handle the request.</para>
  4796.          </summary>
  4797.          <comments>
  4798.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications cannot call <method namespace="HTTPApp" class="TCustomWebDispatcher">DoBeforeDispatch</method>. The DispatchAction method calls <method namespace="HTTPApp" class="TCustomWebDispatcher">DoBeforeDispatch</method> before trying to match the HTTP request message with any of its action items. </para>
  4799.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If the BeforeDispatch event handler indicates that it has handled the request message, <method namespace="HTTPApp" class="TCustomWebDispatcher">DoBeforeDispatch</method> returns true, and the DispatchAction method does not try to pass the request message to any of the action items. Otherwise, <method namespace="HTTPApp" class="TCustomWebDispatcher">DoBeforeDispatch</method> returns false, and unless the response message was sent from within the BeforeDispatch event handler, the DispatchAction method proceeds with looking for action items to handle the request message.</para>
  4800.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If <method namespace="HTTPApp" class="TCustomWebDispatcher">DoBeforeDispatch</method> returns true but the response has not been sent, DispatchAction generates an AfterDispatch event.</para>
  4801.          </comments>
  4802.       </member>
  4803.       <member name="M:HTTPApp.HTTPApp.DispatchAction">
  4804.          <summary>
  4805.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Passes an HTTP request message to the action items in Actions until it is handled.</para>
  4806.          </summary>
  4807.          <comments>
  4808.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The Web application calls <method namespace="HTTPApp" class="TCustomWebDispatcher">DispatchAction</method> when it receives an HTTP request message so that the dispatcher can dispatch the request to any action items that can generate the response.</para>
  4809.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Before <method namespace="HTTPApp" class="TCustomWebDispatcher">DispatchAction</method> looks for action items to handle the HTTP request message represented by the Request parameter, it generates a BeforeDispatch event. If the BeforeDispatch event handler handles the action, the dispatcher does not pass the request message to any of the action items.</para>
  4810.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If there is no BeforeDispatch event handler, or of the BeforeDispatch event handler does not handle the request, <method namespace="HTTPApp" class="TCustomWebDispatcher">DispatchAction</method> attempts to match the MethodType and PathInfo of the request with the MethodType and PathInfo properties of each action item in the Actions property. When an action item matches the MethodType and PathInfo of the request, <method namespace="HTTPApp" class="TCustomWebDispatcher">DispatchAction</method> calls its OnAction event handler.</para>
  4811.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The OnAction event handler can complete the response to the request, or indicate that the request is not fully handled and allow another action item to finish processing the request. If the OnAction event handler does not complete the request, <method namespace="HTTPApp" class="TCustomWebDispatcher">DispatchAction</method> continues checking the action items in the Actions property and calling the OnAction event handler when a match is found.</para>
  4812.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If all of the action items are checked, and the request is still not fully handled, <method namespace="HTTPApp" class="TCustomWebDispatcher">DispatchAction</method> calls the OnAction event handler of the default action item.</para>
  4813.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Finally, if the request has been handled by the BeforeDispatch event handler or any of the action items, <method namespace="HTTPApp" class="TCustomWebDispatcher">DispatchAction</method> generates an AfterDispatch event. The AfterDispatch event does not occur if the BeforeDispatch event or any of the action items has already sent the response.</para>
  4814.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4815.                      
  4816.                <method namespace="HTTPApp" class="TCustomWebDispatcher">DispatchAction</method> returns a Boolean value indicating whether the Web application should send the response message if it is not already sent. <method namespace="HTTPApp" class="TCustomWebDispatcher">DispatchAction</method> returns true if the action was handled by the action items and the AfterDispatch event handler did not change its Handled parameter to false.</para>
  4817.          </comments>
  4818.       </member>
  4819.       <member name="M:HTTPApp.HTTPApp.ActionByName">
  4820.          <summary>
  4821.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the action item identified by the AName parameter.</para>
  4822.          </summary>
  4823.          <comments>
  4824.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TCustomWebDispatcher">ActionByName</method> to gain access to an individual action item when its name is known. Change the properties of the action item so that it handles different HTTP request messages, or invoke its OnAction event handler to respond to an HTTP request message.</para>
  4825.          </comments>
  4826.       </member>
  4827.       <member name="M:HTTPApp.HTTPApp.Create">
  4828.          <summary>
  4829.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4830.                      
  4831.                <method namespace="HTTPApp" class="TCustomWebDispatcher">Create</method>s an instance of <method namespace="HTTPApp" class="TCustomWebDispatcher">TCustomWebDispatcher</method>.</para>
  4832.          </summary>
  4833.          <comments>
  4834.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not call the constructor for <method namespace="HTTPApp" class="TCustomWebDispatcher">TCustomWebDispatcher</method>. Web applications automatically include a Web module. If the Web module is replaced by another data model, the Web dispatcher should be added to the new data module at design time. Objects placed at design time are created automatically. If an application tries to create a dispatcher object in a Web module, or in a data module that already has a Web dispatcher, an exception is raised.</para>
  4835.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4836.                      
  4837.                <method namespace="HTTPApp" class="TCustomWebDispatcher">Create</method> creates the TWebActionItems object that holds the action items managed by the dispatcher. If the Web dispatcher is included in another data module, it adds a reference to itself to any content producer in that data module.</para>
  4838.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">After the Web dispatcher is created automatically at runtime, an On<method namespace="HTTPApp" class="TCustomWebDispatcher">Create</method> event occurs.</para>
  4839.          </comments>
  4840.       </member>
  4841.       <member name="M:HTTPApp.HTTPApp.HandleException">
  4842.          <summary>
  4843.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides default handling of exceptions for the web application.</para>
  4844.          </summary>
  4845.          <comments>
  4846.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If an exception passes through all the try blocks in the web application code, the application automatically calls <method namespace="HTTPApp" class="TCustomWebDispatcher">HandleException</method>, which displays a dialog box indicating an error occurred. Unless the exception object is EAbort, <method namespace="HTTPApp" class="TCustomWebDispatcher">HandleException</method> calls the OnException event handler.</para>
  4847.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">To assign other exception handling code for the web application, use the OnException event handler.</para>
  4848.          </comments>
  4849.       </member>
  4850.       <member name="M:HTTPApp.HTTPApp.Notification">
  4851.          <summary>
  4852.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Responds to notifications when objects are added to the module.</para>
  4853.          </summary>
  4854.          <comments>
  4855.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4856.                      
  4857.                <method namespace="HTTPApp" class="TCustomWebDispatcher">Notification</method> ensures that all TCustomContentProducer objects have access to the dispatcher, by setting their Dispatcher property as they are added to the application.</para>
  4858.          </comments>
  4859.       </member>
  4860.       <member name="M:HTTPApp.HTTPApp.Destroy">
  4861.          <summary>
  4862.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Frees an instance of <method namespace="HTTPApp" class="TCustomWebDispatcher">TCustomWebDispatcher</method>.</para>
  4863.          </summary>
  4864.          <comments>
  4865.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not destroy the <method namespace="HTTPApp" class="TCustomWebDispatcher">TCustomWebDispatcher</method> directly in an application. The dispatcher is freed automatically when the server application shuts down.</para>
  4866.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4867.                      
  4868.                <method namespace="HTTPApp" class="TCustomWebDispatcher">Destroy</method> frees the TWebActionItems object used to hold the collection of action items.</para>
  4869.          </comments>
  4870.       </member>
  4871.       <member name="P:HTTPApp.HTTPApp.Actions">
  4872.          <summary>
  4873.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the collection of action items managed by the <property namespace="HTTPApp" class="TCustomWebDispatcher">TCustomWebDispatcher</property> object.</para>
  4874.          </summary>
  4875.          <comments>
  4876.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the methods of <property namespace="HTTPApp" class="TCustomWebDispatcher">Actions</property> to add action items for use by the dispatcher, to clear the set of action items managed by the dispatcher, or to access the attributes of the action items.</para>
  4877.          </comments>
  4878.       </member>
  4879.       <member name="P:HTTPApp.HTTPApp.Action">
  4880.          <summary>
  4881.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides indexed access to the action items managed by the <property namespace="HTTPApp" class="TCustomWebDispatcher">TCustomWebDispatcher</property> object.</para>
  4882.          </summary>
  4883.          <comments>
  4884.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TCustomWebDispatcher">Action</property> to iterate over all of the actions in the <property namespace="HTTPApp" class="TCustomWebDispatcher">Action</property>s collection. Zero is the index of the first action item, one is the index of the second action item, and so on. To access individual actions by name, use the <property namespace="HTTPApp" class="TCustomWebDispatcher">Action</property>ByName method.</para>
  4885.          </comments>
  4886.       </member>
  4887.       <member name="P:HTTPApp.HTTPApp.Request">
  4888.          <summary>
  4889.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the TWeb<property namespace="HTTPApp" class="TCustomWebDispatcher">Request</property> object that the dispatcher is currently handling.</para>
  4890.          </summary>
  4891.          <comments>
  4892.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TCustomWebDispatcher">Request</property> to obtain information about the current HTTP request message. The dispatcher matches this TWeb<property namespace="HTTPApp" class="TCustomWebDispatcher">Request</property> object to an action item, and invokes the OnAction event handler of the action item to generate and send a response to the HTTP request message. OnAction event handlers often use descendants of TCustomContentProducer to help generate the response to the request message. These content producers can use the <property namespace="HTTPApp" class="TCustomWebDispatcher">Request</property> property to correctly produce the content of the HTTP response.</para>
  4893.          </comments>
  4894.       </member>
  4895.       <member name="P:HTTPApp.HTTPApp.Response">
  4896.          <summary>
  4897.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the TWeb<property namespace="HTTPApp" class="TCustomWebDispatcher">Response</property> object for the message the dispatcher is currently handling.</para>
  4898.          </summary>
  4899.          <comments>
  4900.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="HTTPApp" class="TCustomWebDispatcher">Response</property> to obtain information about the emerging response to the current HTTP request message. The dispatcher matches the request object specified by the Request property to an action item. It then invokes the OnAction event handler of the action item to fill in the TWeb<property namespace="HTTPApp" class="TCustomWebDispatcher">Response</property> object specified by the <property namespace="HTTPApp" class="TCustomWebDispatcher">Response</property> property. OnAction event handlers often use descendants of TCustomContentProducer to help generate the response. These content producers can use <property namespace="HTTPApp" class="TCustomWebDispatcher">Response</property> to determine the state of the emerging response that is being produced.</para>
  4901.          </comments>
  4902.       </member>
  4903.       <member name="E:HTTPApp.HTTPApp.BeforeDispatch">
  4904.          <summary>
  4905.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs before the dispatcher tries to match the HTTP request message with any of its action items.</para>
  4906.          </summary>
  4907.          <comments>
  4908.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write a <event namespace="HTTPApp" class="TCustomWebDispatcher">BeforeDispatch</event> event handler to preprocess all HTTP request messages. A <event namespace="HTTPApp" class="TCustomWebDispatcher">BeforeDispatch</event> event handler can enable or disable the action items appropriate to the response, begin filling out the response object, or provide any other necessary preprocessing. </para>
  4909.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If the <event namespace="HTTPApp" class="TCustomWebDispatcher">BeforeDispatch</event> event handler finishes filling out the response object, it should change the Handled parameter to True so the dispatcher will not send the request on to any of the action items. If the <event namespace="HTTPApp" class="TCustomWebDispatcher">BeforeDispatch</event> event handler sends the response message, the dispatcher will not pass the request on to any of the action items, even if the Handled parameter is left as False.</para>
  4910.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If the <event namespace="HTTPApp" class="TCustomWebDispatcher">BeforeDispatch</event> event handler sets the Handled parameter to True but does not send the response, the Web dispatcher will generate an AfterDispatch event.</para>
  4911.          </comments>
  4912.       </member>
  4913.       <member name="E:HTTPApp.HTTPApp.AfterDispatch">
  4914.          <summary>
  4915.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs after the HTTP response message has been successfully filled out by the action items but not yet sent.</para>
  4916.          </summary>
  4917.          <comments>
  4918.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="HTTPApp" class="TCustomWebDispatcher">AfterDispatch</event> event handler to provide a final check of the HTTP response message before it is sent to the Web client. An <event namespace="HTTPApp" class="TCustomWebDispatcher">AfterDispatch</event> event handler can let a response stand as is, change the response, send the response, or change the Handled parameter to False to prevent the Web application from sending the response.</para>
  4919.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <event namespace="HTTPApp" class="TCustomWebDispatcher">AfterDispatch</event> event does not occur if all of the action items indicate that the response was not handled, or if the response is sent by any of the action items.</para>
  4920.          </comments>
  4921.       </member>
  4922.       <member name="E:HTTPApp.HTTPApp.OnException">
  4923.          <summary>
  4924.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs when an unhandled exception occurs in the application.</para>
  4925.          </summary>
  4926.          <comments>
  4927.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <event namespace="HTTPApp" class="TCustomWebDispatcher">OnException</event> to change the default behavior that occurs when an exception is not handled by application code. The <event namespace="HTTPApp" class="TCustomWebDispatcher">OnException</event> event handler is called automatically in the HandleException method. </para>
  4928.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4929.                      
  4930.                <event namespace="HTTPApp" class="TCustomWebDispatcher">OnException</event> only handles exceptions that occur during message processing. Exceptions that occur before or after the execution of the application's Run method do not generate <event namespace="HTTPApp" class="TCustomWebDispatcher">OnException</event> events.</para>
  4931.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If an exception passes through the try blocks in the application code, the application automatically calls the HandleException method. Unless the exception object is EAbort, HandleException calls the <event namespace="HTTPApp" class="TCustomWebDispatcher">OnException</event> handler, if one exists. Otherwise, it calls ShowException to display a message box indicating an error occurred.</para>
  4932.          </comments>
  4933.       </member>
  4934.       <member name="T:HTTPApp.TWebDispatcher">
  4935.          <summary>
  4936.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4937.                
  4938.                <class namespace="HTTPApp">TWebDispatcher</class> passes HTTP request messages on to the appropriate action items that assemble a response.</para>
  4939.          </summary>
  4940.          <comments>
  4941.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="HTTPApp">TWebDispatcher</class> to convert an ordinary data module to a Web module. Add a <class namespace="HTTPApp">TWebDispatcher</class> object to an existing data module that contains other nonvisual components and business rules for the Web application. Then delete the automatically generated Web module from the Web application and replace it with the data module that now contains the Web dispatcher.</para>
  4942.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4943.                
  4944.                <class namespace="HTTPApp">TWebDispatcher</class> enables the Web server application to respond to HTTP request messages. Only one Web dispatcher can be added to an application. This is why the automatically generated Web module, which is a type of Web dispatcher, must be deleted from the Web application before the data module containing <class namespace="HTTPApp">TWebDispatcher</class> can be added.</para>
  4945.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <class namespace="HTTPApp">TWebDispatcher</class> object manages a collection of action items which know how to respond to HTTP request messages. View, add, and delete the action items managed by the dispatcher using the Action editor which is opened by double-clicking on the <class namespace="HTTPApp">TWebDispatcher</class> icon.</para>
  4946.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4947.                
  4948.                <class namespace="HTTPApp">TWebDispatcher</class> publishes some of the properties and events introduced by TCustomWebDispatcher, but introduces no new properties, events, or methods of its own.</para>
  4949.          </comments>
  4950.       </member>
  4951.       <member name="T:HTTPApp.TWebModule">
  4952.          <summary>
  4953.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4954.                
  4955.                <class namespace="HTTPApp">TWebModule</class> is the automatically generated Web module for a Web server application.</para>
  4956.          </summary>
  4957.          <comments>
  4958.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When a new Web application is created, it automatically contains a Web module. The Web module serves as a repository for nonvisual components such as TPageProducer, TSQLDataSet, TDataSetTableProducer, etc. It also enables the Web server application to respond to HTTP request messages by passing the request and response objects to the appropriate action items. An application can have only one Web module.</para>
  4959.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <class namespace="HTTPApp">TWebModule</class> object manages a collection of action items which know how to respond to HTTP request messages. View, add and delete the action items managed by the Web module using the Action editor which is opened by double clicking on the <class namespace="HTTPApp">TWebModule</class> icon.</para>
  4960.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If a data module already exists which contains many of the non-visual components and business rules for the application, the Web module can be replaced by that data module. Simply delete the Web module, add the new data module in its place, and add a TWebDispatcher object to the new data module.</para>
  4961.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">See the WebServ demo for an example of how to use <class namespace="HTTPApp">TWebModule</class>.</para>
  4962.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4963.                
  4964.                <para>When you create a new Apache module project and save it with a new name, it may be necessary to change the name of the apache_module (in the exports section of the project source code) by hand. </para>
  4965.             
  4966.             </note>
  4967.          </comments>
  4968.       </member>
  4969.       <member name="M:HTTPApp.HTTPApp.Create">
  4970.          <summary>
  4971.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4972.                      
  4973.                <method namespace="HTTPApp" class="TWebModule">Create</method>s an instance of <method namespace="HTTPApp" class="TWebModule">TWebModule</method>.</para>
  4974.          </summary>
  4975.          <comments>
  4976.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not create instances at runtime. The Web module is created automatically when a Web application project is created at design time. Every time a Web server application is run in response to an HTTP request message, a new <method namespace="HTTPApp" class="TWebModule">TWebModule</method> is created based on the Web module that was created at design time.</para>
  4977.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4978.                      
  4979.                <method namespace="HTTPApp" class="TWebModule">Create</method> generates an On<method namespace="HTTPApp" class="TWebModule">Create</method> event, so that Web applications can initialize the Web module before the new HTTP request message is processed.</para>
  4980.          </comments>
  4981.       </member>
  4982.       <member name="T:HTTPApp.TAbstractWebModuleFactory">
  4983.          <summary>
  4984.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4985.                
  4986.                <class namespace="HTTPApp">TAbstractWebModuleFactory</class> is the base class for all Web module factory objects.</para>
  4987.          </summary>
  4988.          <comments>
  4989.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">All WebSnap modules are registered with the WebSnap application using a factory object. In Delphi, the factory object is typically created in the initialization section of the module source file. The factory object is responsible for creating Web module instance. Applications can set flags for each factory object to indicate when it should create instances of its Web module and whether it can cache Web module instance for reuse with subsequent request messages. </para>
  4990.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not create instances of <class namespace="HTTPApp">TAbstractWebModuleFactory</class>. Most of its methods are abstract or, in C++ terminology, pure virtual, meaning they have no implementation. Instead, create instances of a <class namespace="HTTPApp">TAbstractWebModuleFactory</class> descendant such as TWebDataModuleFactory, TWebAppDataModuleFactory, TWebPageModuleFactory, or TWebAppPageModuleFactory. Each of these classes includes an implementation of the abstract or pure virtual methods, and represents group of Web module factories. These groups are based on whether the Web module factory generates the single application Web module (which contains the components to dispatch HTTP request messages), and it generates a Web module that creates a Web page. </para>
  4991.          </comments>
  4992.       </member>
  4993.       <member name="M:HTTPApp.HTTPApp.GetModule">
  4994.          <summary>
  4995.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates an instance of the associated Web module.</para>
  4996.          </summary>
  4997.          <comments>
  4998.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TAbstractWebModuleFactory">GetModule</method> to obtain a new instance of the Web module that the factory creates. This method should only be called once for each request message that requires the use of the Web module.</para>
  4999.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5000.                      
  5001.                <method namespace="HTTPApp" class="TAbstractWebModuleFactory">GetModule</method> returns the Web module instance.</para>
  5002.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <method namespace="HTTPApp" class="TAbstractWebModuleFactory">TAbstractWebModuleFactory</method>, <method namespace="HTTPApp" class="TAbstractWebModuleFactory">GetModule</method> is abstract or, in C++ terminology, pure virtual, meaning it has no implementation. Descendant classes must override this method to provide an implementation that creates a new Web module instance.</para>
  5003.          </comments>
  5004.       </member>
  5005.       <member name="M:HTTPApp.HTTPApp.PreventDestruction">
  5006.          <summary>
  5007.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Prevents the WebSnap application from freeing the Web module instance.</para>
  5008.          </summary>
  5009.          <comments>
  5010.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TAbstractWebModuleFactory">PreventDestruction</method> if the WebSnap application should not free the Web module instance when the current HTTP request message has been fully processed. For example, if another Web module contains a reference to the Web module that this factory creates, you may not want to allow the WebSnap application to free the Web module that this factory creates while the other module exists.</para>
  5011.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <method namespace="HTTPApp" class="TAbstractWebModuleFactory">TAbstractWebModuleFactory</method>, <method namespace="HTTPApp" class="TAbstractWebModuleFactory">PreventDestruction</method> is abstract or, in C++ terminology, pure virtual, meaning it has no implementation. Descendant classes must override this method to provide an implementation that prevents the Web module from being freed.</para>
  5012.          </comments>
  5013.       </member>
  5014.       <member name="P:HTTPApp.HTTPApp.ModuleName">
  5015.          <summary>
  5016.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the name of the Web module class that this factory instantiates.</para>
  5017.          </summary>
  5018.          <comments>
  5019.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5020.                      
  5021.                <property namespace="HTTPApp" class="TAbstractWebModuleFactory">ModuleName</property> is the name of the Web module class that the factory object instantiates. That is, this is the name of the class for which the ComponentClass property is a class reference.</para>
  5022.          </comments>
  5023.       </member>
  5024.       <member name="P:HTTPApp.HTTPApp.IsAppModule">
  5025.          <summary>
  5026.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the corresponding Web module is the main Web application module.</para>
  5027.          </summary>
  5028.          <comments>
  5029.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">WebSnap applications read <property namespace="HTTPApp" class="TAbstractWebModuleFactory">IsAppModule</property> to determine whether a Web module factory creates the single application module. WebSnap applications include one and only one application module, which holds the components responsible for dispatching HTTP requests. The Web application module is an instance of TWebAppPageModule or TWebAppDataModule.</para>
  5030.          </comments>
  5031.       </member>
  5032.       <member name="P:HTTPApp.HTTPApp.ComponentClass">
  5033.          <summary>
  5034.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the class type of the Web module that this factory creates.</para>
  5035.          </summary>
  5036.          <comments>
  5037.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5038.                      
  5039.                <property namespace="HTTPApp" class="TAbstractWebModuleFactory">ComponentClass</property> is the class type of the Web module that the factory object creates. This is a descendant of TWebDataModule, TWebAppDataModule, TWebPageModule, or TWebAppPageModule. The WebSnap application wizard or Web module wizard generates the class declaration for the specific Web module class associated with a Web module factory.</para>
  5040.          </comments>
  5041.       </member>
  5042.       <member name="P:HTTPApp.HTTPApp.CreateMode">
  5043.          <summary>
  5044.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates when the factory creates instances of its Web module.</para>
  5045.          </summary>
  5046.          <comments>
  5047.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebModuleFactory">CreateMode</property> to determine whether the factory creates its Web module for every request message (crAlways), or when the WebSnap application specifically needs the Web module for the current request (crOnDemand).</para>
  5048.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5049.                      
  5050.                <para>When the Web module factory creates the Web application module, <property namespace="HTTPApp" class="TAbstractWebModuleFactory">CreateMode</property> is always crAlways. The Web application module is always required because it contains the components that dispatch HTTP messages. For Web module factories that create any other Web modules in the application, <property namespace="HTTPApp" class="TAbstractWebModuleFactory">CreateMode</property> reflects a flag passed to the constructor.</para>
  5051.                   
  5052.             </note>
  5053.          </comments>
  5054.       </member>
  5055.       <member name="P:HTTPApp.HTTPApp.CacheMode">
  5056.          <summary>
  5057.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the factory can cache Web modules for reuse.</para>
  5058.          </summary>
  5059.          <comments>
  5060.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The Web module factory creates an instance of its Web module to handle a specific HTTP request message. After the WebSnap application has finished with that request, it can free the Web module instance, or cache it so that the next time it needs to create an instance of its Web module, it can simply reuse the cached instance.</para>
  5061.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When <property namespace="HTTPApp" class="TAbstractWebModuleFactory">CacheMode</property> is caCache, the WebSnap application caches Web module instances for reuse. This can improve performance.</para>
  5062.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When <property namespace="HTTPApp" class="TAbstractWebModuleFactory">CacheMode</property> is caDestroy, the WebSnap application frees Web module instances when they are no longer needed for the current request message. This is the safest approach if changes to the Web module or any of the components it contains that are made while processing a request message can interfere with the correct handling of subsequent request messages.</para>
  5063.          </comments>
  5064.       </member>
  5065.       <member name="P:HTTPApp.HTTPApp.WebPageInfo">
  5066.          <summary>
  5067.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Describes the attributes of the Web page that the corresponding Web module generates, if any.</para>
  5068.          </summary>
  5069.          <comments>
  5070.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When the Web module that the factory object creates can generate a Web page, <property namespace="HTTPApp" class="TAbstractWebModuleFactory">WebPageInfo</property> describes the attributes of the Web page, such as its name, title, access rights, and so on. This information is stored in the Web module factory so that it is available even when there is no current instance of the Web module.</para>
  5071.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When the Web module that the factory object creates does not generate a Web page, <property namespace="HTTPApp" class="TAbstractWebModuleFactory">WebPageInfo</property> is nil (Delphi) or NULL (C++).</para>
  5072.          </comments>
  5073.       </member>
  5074.       <member name="T:HTTPApp.TAbstractWebPageModuleFactory">
  5075.          <summary>
  5076.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5077.                
  5078.                <class namespace="HTTPApp">TAbstractWebPageModuleFactory</class> is the base class for Web module factory objects whose generated Web modules create Web pages.</para>
  5079.          </summary>
  5080.          <comments>
  5081.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">All WebSnap modules are registered with the WebSnap application using a factory object. In Delphi, the factory object is typically created in the initialization section of the module source file. The factory object is responsible for creating Web module instances. Applications can set flags for each factory object to indicate when it should create instances of its Web module and whether it can cache Web module instances for reuse with subsequent request messages.</para>
  5082.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5083.                
  5084.                <class namespace="HTTPApp">TAbstractWebPageModuleFactory</class> is the base class for all Web module factory objects that generate Web page modules. In addition to holding components that perform tasks for the WebSnap application, Web page modules can generate a Web page. The Web page is described by a Web page information object, which the Web page module factory makes available as its WebPageInfo property.</para>
  5085.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not create instances of <class namespace="HTTPApp">TAbstractWebPageModuleFactory</class>. Most of its methods are abstract or, in C++ terminology, pure virtual, meaning they have no implementation. Instead, create instances of a <class namespace="HTTPApp">TAbstractWebPageModuleFactory</class> descendant such as TWebPageModuleFactory or TWebAppPageModuleFactory. </para>
  5086.          </comments>
  5087.       </member>
  5088.       <member name="M:HTTPApp.HTTPApp.GetWebPageInfo">
  5089.          <summary>
  5090.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the value of the WebPageInfo property.</para>
  5091.          </summary>
  5092.          <comments>
  5093.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5094.                      
  5095.                <method namespace="HTTPApp" class="TAbstractWebPageModuleFactory">GetWebPageInfo</method> is the protected read implementation of the WebPageInfo property. It returns the Web page information object that is supplied to the <method namespace="HTTPApp" class="TAbstractWebPageModuleFactory">TAbstractWebPageModuleFactory</method> constructor.</para>
  5096.          </comments>
  5097.       </member>
  5098.       <member name="M:HTTPApp.HTTPApp.Create">
  5099.          <summary>
  5100.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5101.                      
  5102.                <condition language="CBuilder">Constructs an object and initializes its data before the object is first used.</condition>
  5103.                   
  5104.             </para>
  5105.          </summary>
  5106.          <comments>
  5107.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5108.                      
  5109.                <condition language="CBuilder">Do not create instances of <method namespace="HTTPApp" class="TAbstractWebPageModuleFactory">TAbstractWebPageModuleFactory</method>. Instead, construct descendants of <method namespace="HTTPApp" class="TAbstractWebPageModuleFactory">TAbstractWebPageModuleFactory</method> using the new keyword, passing any arguments for the descendant object's constructor.</condition>
  5110.                   
  5111.             </para>
  5112.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5113.                      
  5114.                <condition language="CBuilder">Descendant objects usually define a constructor that creates the particular kind of object and initializes its data.</condition>
  5115.                   
  5116.             </para>
  5117.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5118.                      
  5119.                <para>
  5120.                         
  5121.                   <condition language="CBuilder">If an exception escapes from a constructor, the object's destructor is called to clean up the failed instance.</condition>
  5122.                      
  5123.                </para>
  5124.                   
  5125.             </note>
  5126.          </comments>
  5127.       </member>
  5128.       <member name="M:HTTPApp.HTTPApp.Destroy">
  5129.          <summary>
  5130.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5131.                      
  5132.                <condition language="CBuilder">Disposes of an object instance.</condition>
  5133.                   
  5134.             </para>
  5135.          </summary>
  5136.          <comments>
  5137.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5138.                      
  5139.                <condition language="CBuilder">Do not call ~<method namespace="HTTPApp" class="TAbstractWebPageModuleFactory">TAbstractWebPageModuleFactory</method> directly. Instead, use the delete keyword when destroying VCL objects.</condition>
  5140.                   
  5141.             </para>
  5142.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5143.                      
  5144.                <condition language="CBuilder">~<method namespace="HTTPApp" class="TAbstractWebPageModuleFactory">TAbstractWebPageModuleFactory</method> deallocates memory. Descendant objects usually define a destructor that is customized for that particular kind of object.</condition>
  5145.                   
  5146.             </para>
  5147.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5148.                      
  5149.                <para>
  5150.                         
  5151.                   <condition language="CBuilder">If an exception escapes from the constructor, the destructor is called to destroy the partially constructed object instance that failed to initialize completely. Therefore, destructors should check that allocated resources, such as handles, were actually allocated before trying to release them, since their value might be zero.</condition>
  5152.                      
  5153.                </para>
  5154.                   
  5155.             </note>
  5156.             <warning xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5157.                      
  5158.                <para>
  5159.                         
  5160.                   <condition language="CBuilder">Never destroy a component from one of its own event handlers or from the event handler of a component it owns or contains. For example, don't destroy a button, or the form that owns the button, in the button's OnClick event handler.</condition>
  5161.                      
  5162.                </para>
  5163.                   
  5164.             </warning>
  5165.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5166.                      
  5167.                <condition language="CBuilder">To destroy a form, call its Release method, which destroys the form and releases the memory allocated for it after all its event handlers and those of the components it contains have executed.</condition>
  5168.                   
  5169.             </para>
  5170.          </comments>
  5171.       </member>
  5172.       <member name="T:HTTPApp.TAbstractWebPageInfo">
  5173.          <summary>
  5174.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5175.                
  5176.                <class namespace="HTTPApp">TAbstractWebPageInfo</class> represents the attributes of a Web page module.</para>
  5177.          </summary>
  5178.          <comments>
  5179.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5180.                
  5181.                <class namespace="HTTPApp">TAbstractWebPageInfo</class> is the abstract base class for Web page information objects. It introduces a number of properties that describe the attributes of a Web page module, including</para>
  5182.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">PageName, which is the logical name for the Web page the module generates.</para>
  5183.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IsPublished, which indicates whether the WebSnap application automatically displays the page in response to request messages where the pathinfo portion of the target URL matches PageName. </para>
  5184.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IsLoginRequired, which indicates whether the user must log in to access the Web page.</para>
  5185.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ViewAccess, which can be used to restrict access to the Web page.</para>
  5186.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">PageTitle, which is the title that appears on the Web page.</para>
  5187.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">PageFile, which identifies an associated HTML template that the Web page module uses to generate its Web page.</para>
  5188.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">PageHREF, which identifies the HREF to use for references to the page that appear in hypertext links.</para>
  5189.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">PageDescription, which describes the Web page.</para>
  5190.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not create instances of <class namespace="HTTPApp">TAbstractWebPageInfo</class>. It includes abstract or, in C++ terminology, pure virtual methods (methods that have no implementation) that must be overridden in a descendant class.</para>
  5191.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Web page information objects are used to set the attributes of a Web page module. An instance of a <class namespace="HTTPApp">TAbstractWebPageInfo</class> descendant, such as TWebPageInfo, is supplied to the constructor of the factory object that creates instances of the Web page module. Typically, the code to create this object and supply it to the Web page factory's constructor is generated by a Web page module wizard. You can change this generated code, which appears in the generated unit for the Web page module, to alter the properties of the Web page information object. For example, you may want to add a ViewAccess string to allow your application to limit access to the Web page.</para>
  5192.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In a WebSnap application, you can access the Web page information object of any Web page module by calling the FindPageInfo method of the application's global Web context.</para>
  5193.          </comments>
  5194.       </member>
  5195.       <member name="P:HTTPApp.HTTPApp.PageHREF">
  5196.          <summary>
  5197.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Identifies the HREF to use for references to the associated Web page that appear in hypertext links.</para>
  5198.          </summary>
  5199.          <comments>
  5200.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebPageInfo">PageHREF</property> to obtain the string that should be inserted in HTML code to create a hypertext link to the associated Web page.</para>
  5201.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <property namespace="HTTPApp" class="TAbstractWebPageInfo">TAbstractWebPageInfo</property>, <property namespace="HTTPApp" class="TAbstractWebPageInfo">PageHREF</property> is the same as the value of the PageName property.</para>
  5202.          </comments>
  5203.       </member>
  5204.       <member name="P:HTTPApp.HTTPApp.PageDescription">
  5205.          <summary>
  5206.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Describes the Web page.</para>
  5207.          </summary>
  5208.          <comments>
  5209.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebPageInfo">PageDescription</property> to obtain a brief description of the Web page that the associated Web page module generates. This property can be used, for example, to provide descriptions for a dynamically generated catalog of available Web pages.</para>
  5210.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <property namespace="HTTPApp" class="TAbstractWebPageInfo">TAbstractWebPageInfo</property>, <property namespace="HTTPApp" class="TAbstractWebPageInfo">PageDescription</property> is the same as the value of the PageName property.</para>
  5211.          </comments>
  5212.       </member>
  5213.       <member name="P:HTTPApp.HTTPApp.PageTitle">
  5214.          <summary>
  5215.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the title that appears on the associated Web page.</para>
  5216.          </summary>
  5217.          <comments>
  5218.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebPageInfo">PageTitle</property> to determine the title that appears on the associated Web page when viewed from a user's browser. </para>
  5219.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <property namespace="HTTPApp" class="TAbstractWebPageInfo">TAbstractWebPageInfo</property>, <property namespace="HTTPApp" class="TAbstractWebPageInfo">PageTitle</property> is the same as the value of the PageName property.</para>
  5220.          </comments>
  5221.       </member>
  5222.       <member name="P:HTTPApp.HTTPApp.PageName">
  5223.          <summary>
  5224.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Denotes the logical name for the Web page that the associated module generates</para>
  5225.          </summary>
  5226.          <comments>
  5227.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebPageInfo">PageName</property> to determine the name of the associated Web page. This name is used to identify that page in server-side scripts, and as the pathinfo portion of the URL for the page when the IsPublished property is true. </para>
  5228.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <property namespace="HTTPApp" class="TAbstractWebPageInfo">TAbstractWebPageInfo</property>, the property read access method for <property namespace="HTTPApp" class="TAbstractWebPageInfo">PageName</property> is <condition language="Delphi">abstract</condition>
  5229.                      
  5230.                <condition language="CBuilder">pure virtual</condition>. Descendant classes must override the protected Get<property namespace="HTTPApp" class="TAbstractWebPageInfo">PageName</property> method to provide an implementation for this property.</para>
  5231.          </comments>
  5232.       </member>
  5233.       <member name="P:HTTPApp.HTTPApp.IsPublished">
  5234.          <summary>
  5235.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the WebSnap application automatically displays the associated page in response to request messages where the pathinfo portion of the target URL matches PageName. </para>
  5236.          </summary>
  5237.          <comments>
  5238.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebPageInfo">IsPublished</property> to determine whether the page dispatcher (TPageDispatcher) automatically calls on the associated Web page module when it receives HTTP request messages that address it by name. HTTP request messages address a Web page module when the pathinfo portion of their target URL matches the value of the PageName property.</para>
  5239.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When <property namespace="HTTPApp" class="TAbstractWebPageInfo">IsPublished</property> is false, the WebSnap application must explicitly retrieve the content that the Web page module generates in order to use the Web page module. </para>
  5240.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <property namespace="HTTPApp" class="TAbstractWebPageInfo">TAbstractWebPageInfo</property>, <property namespace="HTTPApp" class="TAbstractWebPageInfo">IsPublished</property> is always false. Descendant classes override this property, initializing it to a value that is passed to the constructor.</para>
  5241.          </comments>
  5242.       </member>
  5243.       <member name="P:HTTPApp.HTTPApp.IsLoginRequired">
  5244.          <summary>
  5245.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether callers must log in before accessing the associated Web page.</para>
  5246.          </summary>
  5247.          <comments>
  5248.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebPageInfo">IsLoginRequired</property> to determine whether users must log in before accessing the associated Web page. The page dispatcher component (TPageDispatcher) checks this value to determine whether it can forward requests to the associated Web page when the caller has not yet logged in. The application can overrule the <property namespace="HTTPApp" class="TAbstractWebPageInfo">IsLoginRequired</property> property by supplying an On<property namespace="HTTPApp" class="TAbstractWebPageInfo">IsLoginRequired</property> event handler to the page dispatcher.</para>
  5249.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <property namespace="HTTPApp" class="TAbstractWebPageInfo">TAbstractWebPageInfo</property>, <property namespace="HTTPApp" class="TAbstractWebPageInfo">IsLoginRequired</property> is always false. Descendant classes override this property, initializing it to a value that is passed to the constructor.</para>
  5250.          </comments>
  5251.       </member>
  5252.       <member name="P:HTTPApp.HTTPApp.PageFile">
  5253.          <summary>
  5254.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Identifies an associated file that the Web page module uses to generate its Web page.</para>
  5255.          </summary>
  5256.          <comments>
  5257.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebPageInfo">PageFile</property> to identify the file, if any, that the associated Web page module uses when generating its Web page. This can be the Web page that the Web page module returns, or it can be a template that the Web page module modifies to generate its final product.</para>
  5258.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <property namespace="HTTPApp" class="TAbstractWebPageInfo">TAbstractWebPageInfo</property>, the property read access method for <property namespace="HTTPApp" class="TAbstractWebPageInfo">PageFile</property> is <condition language="Delphi">abstract</condition>
  5259.                      
  5260.                <condition language="CBuilder">pure virtual</condition>. Descendant classes must override the protected Get<property namespace="HTTPApp" class="TAbstractWebPageInfo">PageFile</property> method to provide an implementation for this property.</para>
  5261.          </comments>
  5262.       </member>
  5263.       <member name="P:HTTPApp.HTTPApp.ViewAccess">
  5264.          <summary>
  5265.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the view access string that controls access to the associated Web page.</para>
  5266.          </summary>
  5267.          <comments>
  5268.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebPageInfo">ViewAccess</property> to obtain the view access string that controls which users have access to the associated Web page. When a user tries to access the associated Web page, the page dispatcher checks the user's access rights against this string by calling the HasViewRights method of the end user adapter. Adapters in the Web page module check execute and modify rights against this string by calling the HasExecuteRights and HasModifyRights methods of the end user adapter. </para>
  5269.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In <property namespace="HTTPApp" class="TAbstractWebPageInfo">TAbstractWebPageInfo</property>, <property namespace="HTTPApp" class="TAbstractWebPageInfo">ViewAccess</property> is always an empty string. Descendant classes override this property, initializing it to a value that is passed to the constructor.</para>
  5270.          </comments>
  5271.       </member>
  5272.       <member name="P:HTTPApp.HTTPApp.Factory">
  5273.          <summary>
  5274.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the factory object that creates instances of the Web page module this object describes.</para>
  5275.          </summary>
  5276.          <comments>
  5277.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5278.                      
  5279.                <property namespace="HTTPApp" class="TAbstractWebPageInfo">Factory</property> indicates the factory object that creates instances of the associated Web page module. If the associated Web page module is also the Web application module, <property namespace="HTTPApp" class="TAbstractWebPageInfo">Factory</property> is an instance of TWebAppPageModule<property namespace="HTTPApp" class="TAbstractWebPageInfo">Factory</property>. Otherwise, it is an instance of TWebPageModule<property namespace="HTTPApp" class="TAbstractWebPageInfo">Factory</property>. </para>
  5280.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">This property is set by the factory object's constructor.</para>
  5281.          </comments>
  5282.       </member>
  5283.       <member name="T:HTTPApp.TAbstractWebModuleList">
  5284.          <summary>
  5285.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5286.                
  5287.                <class namespace="HTTPApp">TAbstractWebModuleList</class> lists the WebModules in a WebSnap application and provides access to their factory objects.</para>
  5288.          </summary>
  5289.          <comments>
  5290.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5291.                
  5292.                <class namespace="HTTPApp">TAbstractWebModuleList</class> is the base class for TWebModuleList, which lists every Web module that has been instantiated to serve the current request. It introduces properties and methods for accessing the Web modules in the application, as well as for the Web module factory objects that create those Web module instances. All the methods in <class namespace="HTTPApp">TAbstractWebModuleList</class> are abstract or, in C++ terminology, pure virtual, meaning they have no implementation. TWebModuleList, a <class namespace="HTTPApp">TAbstractWebModuleList</class> descendant, overrides those abstract or pure virtual methods to provide a default implementation.</para>
  5293.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When a WebSnap application handles multiple requests concurrently, it includes multiple web modules lists, each on a separate thread and each associated with a different request.</para>
  5294.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The Web context, which can be accessed using the global WebContext function, provides access to the <class namespace="HTTPApp">TAbstractWebModuleList</class> object that is associated with the current request. Use the Web context's WebModules property to obtain a reference to the Web module list.</para>
  5295.          </comments>
  5296.       </member>
  5297.       <member name="M:HTTPApp.HTTPApp.FindModuleClass">
  5298.          <summary>
  5299.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Locates a Web module given its class reference.</para>
  5300.          </summary>
  5301.          <comments>
  5302.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TAbstractWebModuleList">FindModuleClass</method> to locate the Web module instance of a given class type. <method namespace="HTTPApp" class="TAbstractWebModuleList">FindModuleClass</method> searches the Items property array for a Web module instance of the specified class. </para>
  5303.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AClass is a class reference to the class type of the desired Web module.</para>
  5304.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5305.                      
  5306.                <method namespace="HTTPApp" class="TAbstractWebModuleList">FindModuleClass</method> returns the requested Web module instance if it exists. If there is no Web module of the specified class, <method namespace="HTTPApp" class="TAbstractWebModuleList">FindModuleClass</method> returns nil (Delphi) or NULL (C++).</para>
  5307.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5308.                      
  5309.                <para>In <method namespace="HTTPApp" class="TAbstractWebModuleList">TAbstractWebModuleList</method>, <method namespace="HTTPApp" class="TAbstractWebModuleList">FindModuleClass</method> is abstract or, in C++ terminology, pure virtual, meaning it has no implementation. Descendant classes override this method to provide an implementation.</para>
  5310.                   
  5311.             </note>
  5312.          </comments>
  5313.       </member>
  5314.       <member name="M:HTTPApp.HTTPApp.FindModuleName">
  5315.          <summary>
  5316.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Locates a Web module given its name.</para>
  5317.          </summary>
  5318.          <comments>
  5319.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="HTTPApp" class="TAbstractWebModuleList">FindModuleName</method> to locate the Web module instance of a given name. FindModuleClass searches the Items property array for a Web module instance of the specified name. </para>
  5320.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AName is the name of the desired Web module.</para>
  5321.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5322.                      
  5323.                <method namespace="HTTPApp" class="TAbstractWebModuleList">FindModuleName</method> returns the requested Web module instance if it exists. If there is no Web module with the specified name, FindModuleClass returns nil (Delphi) or NULL (C++).</para>
  5324.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5325.                      
  5326.                <para>In <method namespace="HTTPApp" class="TAbstractWebModuleList">TAbstractWebModuleList</method>, FindModuleClass is abstract or, in C++ terminology, pure virtual, meaning it has no implementation. Descendant classes override this method to provide an implementation.</para>
  5327.                   
  5328.             </note>
  5329.          </comments>
  5330.       </member>
  5331.       <member name="M:HTTPApp.HTTPApp.AddModuleClass">
  5332.          <summary>
  5333.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates a new Web module, given its class, and adds it to the Items property array.</para>
  5334.          </summary>
  5335.          <comments>
  5336.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5337.                      
  5338.                <method namespace="HTTPApp" class="TAbstractWebModuleList">AddModuleClass</method> searches for a Web module factory that can create a Web module of the specified class. If it finds a match, it instantiates the Web module and adds it to the Items property array.</para>
  5339.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AClass is a class reference to the Web module you want to instantiate. It should not match the class type of any Web module already listed in the Items property array.</para>
  5340.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5341.                      
  5342.                <method namespace="HTTPApp" class="TAbstractWebModuleList">AddModuleClass</method> returns the new Web module instance. If the Factory property array does not include a Web module factory that can create a Web module of the specified class, <method namespace="HTTPApp" class="TAbstractWebModuleList">AddModuleClass</method> returns nil (Delphi) or NULL (C++).</para>
  5343.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5344.                      
  5345.                <para>In <method namespace="HTTPApp" class="TAbstractWebModuleList">TAbstractWebModuleList</method>, <method namespace="HTTPApp" class="TAbstractWebModuleList">AddModuleClass</method> is abstract or, in C++ terminology, pure virtual, meaning it has no implementation. Descendant classes override this method to provide an implementation.</para>
  5346.                   
  5347.             </note>
  5348.          </comments>
  5349.       </member>
  5350.       <member name="M:HTTPApp.HTTPApp.AddModuleName">
  5351.          <summary>
  5352.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates a new Web module, given its name, and adds it to the Items property array.</para>
  5353.          </summary>
  5354.          <comments>
  5355.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5356.                      
  5357.                <method namespace="HTTPApp" class="TAbstractWebModuleList">AddModuleName</method> searches for a Web module factory that can create a Web module of the specified name. If it finds a match, it instantiates the Web module and adds it to the Items property array.</para>
  5358.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AName is the name of the Web module you want to instantiate. It should not match the name of any Web module already listed in the Items property array.</para>
  5359.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AddModuleClass returns the new Web module instance. If the Factory property array does not include a Web module factory that can create a Web module of the specified name, AddModuleClass returns nil (Delphi) or NULL (C++).</para>
  5360.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5361.                      
  5362.                <para>In <method namespace="HTTPApp" class="TAbstractWebModuleList">TAbstractWebModuleList</method>, <method namespace="HTTPApp" class="TAbstractWebModuleList">AddModuleName</method> is abstract or, in C++ terminology, pure virtual, meaning it has no implementation. Descendant classes override this method to provide an implementation.</para>
  5363.                   
  5364.             </note>
  5365.          </comments>
  5366.       </member>
  5367.       <member name="P:HTTPApp.HTTPApp.Items">
  5368.          <summary>
  5369.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the instantiated Web modules in the current thread.</para>
  5370.          </summary>
  5371.          <comments>
  5372.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebModuleList">Items</property> to access the Web modules that have been created to process the current HTTP request. </para>
  5373.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the ItemCount property in conjunction with <property namespace="HTTPApp" class="TAbstractWebModuleList">Items</property> to iterate over all the Web modules in the current thread.</para>
  5374.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">I is the index of the object to read, where 0 identifies the first Web module, 1 identifies the second Web module, and so on, until ItemCount ΓÇô 1 identifies the last Web module. </para>
  5375.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5376.                      
  5377.                <para>In Delphi, <property namespace="HTTPApp" class="TAbstractWebModuleList">Items</property> is the default property of <property namespace="HTTPApp" class="TAbstractWebModuleList">TAbstractWebModuleList</property>. This means that the property name may be omitted. Thus the line </para>
  5378.                   
  5379.             </note>
  5380.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5381.                      
  5382.                <para>MyModule := WebContext.WebModules.<property namespace="HTTPApp" class="TAbstractWebModuleList">Items</property>[I];</para>
  5383.                   
  5384.             </note>
  5385.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5386.                      
  5387.                <para>can be written</para>
  5388.                   
  5389.             </note>
  5390.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5391.                      
  5392.                <para>MyModule := WebContext.WebModules[I];</para>
  5393.                   
  5394.             </note>
  5395.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5396.                      
  5397.                <para>In C++, a similar effect to the use of <property namespace="HTTPApp" class="TAbstractWebModuleList">Items</property> as a default property can be achieved using the [] operator.</para>
  5398.                   
  5399.             </note>
  5400.          </comments>
  5401.       </member>
  5402.       <member name="P:HTTPApp.HTTPApp.ItemCount">
  5403.          <summary>
  5404.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the number of Web modules that have been instantiated in the current thread.</para>
  5405.          </summary>
  5406.          <comments>
  5407.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebModuleList">ItemCount</property> to determine the number of instantiated Web modules in the current thread of the WebSnap application. <property namespace="HTTPApp" class="TAbstractWebModuleList">ItemCount</property> provides an upper bound to the index of the Items property array.</para>
  5408.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Because <property namespace="HTTPApp" class="TAbstractWebModuleList">ItemCount</property> counts only the instantiated Web modules, its value is always less than or equal to the value of FactoryCount, which gives the number of Web module factories.</para>
  5409.          </comments>
  5410.       </member>
  5411.       <member name="P:HTTPApp.HTTPApp.FactoryCount">
  5412.          <summary>
  5413.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the number of Web module factories listed in the Factory property array.</para>
  5414.          </summary>
  5415.          <comments>
  5416.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebModuleList">FactoryCount</property> to determine the number of Web module factory object (and hence the potential number of Web modules) in the WebSnap application. <property namespace="HTTPApp" class="TAbstractWebModuleList">FactoryCount</property> provides an upper bound to the index of the Factory property array.</para>
  5417.          </comments>
  5418.       </member>
  5419.       <member name="P:HTTPApp.HTTPApp.Factory">
  5420.          <summary>
  5421.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the Web module factories for all the Web modules available in the application.</para>
  5422.          </summary>
  5423.          <comments>
  5424.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="HTTPApp" class="TAbstractWebModuleList">Factory</property> to access the factory objects that instantiate Web modules for the WebSnap application. Each factory object includes methods to create or (if an instance exists) access the corresponding Web module, as well as properties that provide information about the Web module it creates.</para>
  5425.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <property namespace="HTTPApp" class="TAbstractWebModuleList">Factory</property>Count property in conjunction with <property namespace="HTTPApp" class="TAbstractWebModuleList">Factory</property> to iterate over all the Web module factory objects in the WebSnap application.</para>
  5426.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">I is the index of the factory object to read, where 0 identifies the first factory, 1 identifies the second factory, and so on, until <property namespace="HTTPApp" class="TAbstractWebModuleList">Factory</property>Count ΓÇô 1 identifies the last factory. </para>
  5427.          </comments>
  5428.       </member>
  5429.       <member name="E:HTTPApp.HTTPApp.OnModuleAdded">
  5430.          <summary>
  5431.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs when a new Web module is added to the Items property array.</para>
  5432.          </summary>
  5433.          <comments>
  5434.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="HTTPApp" class="TAbstractWebModuleList">OnModuleAdded</event> event handler to take specific action when a Web module is instantiated in the current Web context. When the WebSnap application creates a new Web module instance, it generates an <event namespace="HTTPApp" class="TAbstractWebModuleList">OnModuleAdded</event> event immediately after adding the instance to the Items property array.</para>
  5435.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5436.                      
  5437.                <para>Do not write an <event namespace="HTTPApp" class="TAbstractWebModuleList">OnModuleAdded</event> event handler if the application contains a TWebAppComponents object. TWebAppComponents uses this event to initialize the Web modules when they are added. </para>
  5438.                   
  5439.             </note>
  5440.          </comments>
  5441.       </member>
  5442.       <member name="T:HTTPApp.EWebBrokerException">
  5443.          <summary>
  5444.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5445.                
  5446.                <class namespace="HTTPApp">EWebBrokerException</class> is an exception raised by WebBroker objects.</para>
  5447.          </summary>
  5448.          <comments>
  5449.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5450.                
  5451.                <class namespace="HTTPApp">EWebBrokerException</class> is raised when a WebBroker object encounters a problem. It functions identically to its parent class, TException.</para>
  5452.          </comments>
  5453.       </member>
  5454.       <member name="M:HTTPApp.HTTPDecode">
  5455.          <summary>
  5456.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Decodes a string that includes HTTP escape characters.</para>
  5457.          </summary>
  5458.          <comments>
  5459.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5460.                
  5461.                <routine namespace="HTTPApp">HTTPDecode</routine> decodes the escape characters (+ and %) in a string that comes from an HTTP message header. Plus characters (+) are converted into spaces. Percent signs (%) indicate that the next two characters are the hex representation of a character. If a percent sign is followed by another percent sign (%%), it is converted into a single percent sign.</para>
  5462.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For example, the string</para>
  5463.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">%%+%3f</para>
  5464.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">is converted into</para>
  5465.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">% ?</para>
  5466.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The AStr parameter is the undecoded string. The return value is the converted version of the string.</para>
  5467.          </comments>
  5468.       </member>
  5469.       <member name="M:HTTPApp.HTTPEncode">
  5470.          <summary>
  5471.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Converts a string into a form that contains no values that are illegal in an HTTP message header.</para>
  5472.          </summary>
  5473.          <comments>
  5474.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5475.                
  5476.                <routine namespace="HTTPApp">HTTPEncode</routine> converts all characters in the AStr parameter except for the letters A through Z (and a through z), numerals 0 through 9, the asterisk (*), dollar sign ($), exclamation point (!), at sign (@), period (.), underscore (_), single quote ('), comma (,) parentheses, and hyphen (-). Spaces are converted to plus characters (+), and all other characters are converted into hex values preceded by the percent sign (%).</para>
  5477.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For example, the string</para>
  5478.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">% ?</para>
  5479.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">is converted into</para>
  5480.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">%%+%3f</para>
  5481.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5482.                
  5483.                <routine namespace="HTTPApp">HTTPEncode</routine> returns the converted string.</para>
  5484.          </comments>
  5485.       </member>
  5486.       <member name="M:HTTPApp.ParseDate">
  5487.          <summary>
  5488.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Converts a date value from an HTTP message header into a TDateTime.</para>
  5489.          </summary>
  5490.          <comments>
  5491.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">HTTP message headers permit several formats for the representation of date and time values. <routine namespace="HTTPApp">ParseDate</routine> converts from any of these formats into a TDateTime. <routine namespace="HTTPApp">ParseDate</routine> allows server applications to work with date values taken from HTTP request messages, without worrying about the details of how they are formatted.</para>
  5492.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <routine namespace="HTTPApp">ParseDate</routine> when interpreting temporal header values in HTTP request messages when they are not already parsed as a property of TWebRequest. TWebRequest parses the Date header and Expires header automatically.</para>
  5493.          </comments>
  5494.       </member>
  5495.       <member name="M:HTTPApp.ExtractHeaderFields">
  5496.          <summary>
  5497.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Parses a multi-valued string into its constituent fields.</para>
  5498.          </summary>
  5499.          <comments>
  5500.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5501.                
  5502.                <routine namespace="HTTPApp">ExtractHeaderFields</routine> is a general utility to parse multi-valued HTTP header strings into separate substrings. </para>
  5503.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Separators is a set of characters that are used to separate individual values within the multi-valued string.</para>
  5504.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">WhiteSpace is a set of characters that are to be ignored when parsing the string.</para>
  5505.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Content is the multi-valued string to be parsed.</para>
  5506.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Strings is the TStrings object that receives the individual values that are parsed from Content. </para>
  5507.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">StripQuotes determines whether the surrounding quotes are removed from the resulting items. When StripQuotes is true, surrounding quotes are removed before substrings are added to Strings.</para>
  5508.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5509.                
  5510.                <para>Characters contained in Separators or WhiteSpace are treated as part of a value substring if the substring is surrounded by single or double quote marks. HTTP escape characters are converted using the HTTPDecode function.</para>
  5511.             
  5512.             </note>
  5513.          </comments>
  5514.       </member>
  5515.       <member name="M:HTTPApp.ExtractHTTPFields">
  5516.          <summary>
  5517.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Parses a multi-valued string into its constituent fields.</para>
  5518.          </summary>
  5519.          <comments>
  5520.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5521.                
  5522.                <routine namespace="HTTPApp">ExtractHTTPFields</routine> is a general utility to parse multi-valued HTTP header strings into separate substrings. </para>
  5523.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Separators is a set of characters that are used to separate individual values within the multi-valued string.</para>
  5524.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">WhiteSpace is a set of characters that are to be ignored when parsing the string.</para>
  5525.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Content is the multi-valued string to be parsed.</para>
  5526.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Strings is the TStrings object that receives the individual values that are parsed from Content. </para>
  5527.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">StripQuotes determines whether the surrounding quotes are removed from the resulting items. When StripQuotes is true, surrounding quotes are removed before substrings are added to Strings.</para>
  5528.             <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  5529.                
  5530.                <para>Characters contained in Separators or WhiteSpace are treated as part of a value substring if the substring is surrounded by single or double quote marks. HTTP escape characters are converted using the HTTPDecode function.</para>
  5531.             
  5532.             </note>
  5533.          </comments>
  5534.       </member>
  5535.       <member name="M:HTTPApp.StatusString">
  5536.          <summary>
  5537.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the explanatory string associated with one of the predefined HTTP response status codes.</para>
  5538.          </summary>
  5539.          <comments>
  5540.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The HTTP protocol specification defines a number of standard status codes that indicate the status of an HTTP request message. HTTP applications interpret these status codes, but for human beings, each of these codes has a corresponding string that provides a more understandable indication of the status of the HTTP request.</para>
  5541.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="HTTPApp">StatusString</routine> to obtain the string that corresponds to a standard status code. If the StatusCode parameter is not one of the codes defined in the HTTP standard, <routine namespace="HTTPApp">StatusString</routine> returns an empty string.</para>
  5542.          </comments>
  5543.       </member>
  5544.       <member name="M:HTTPApp.UnixPathToDosPath">
  5545.          <summary>
  5546.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Converts a Unix-compatible path specification to a Dos-compatible path specification.</para>
  5547.          </summary>
  5548.          <comments>
  5549.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <routine namespace="HTTPApp">UnixPathToDosPath</routine> to convert a path name obtained from an HTTP message or other Unix-based application to a path name that can be used by Windows. <routine namespace="HTTPApp">UnixPathToDosPath</routine> converts all forward slashes (/) to backslash characters (\).</para>
  5550.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The Path parameter is the Unix-compatible path. The return value is the corresponding Dos-compatible path.</para>
  5551.          </comments>
  5552.       </member>
  5553.       <member name="M:HTTPApp.DosPathToUnixPath">
  5554.          <summary>
  5555.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Converts a DOS-compatible path specification to a Unix-compatible path specification.</para>
  5556.          </summary>
  5557.          <comments>
  5558.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <routine namespace="HTTPApp">DosPathToUnixPath</routine> to convert a path name on the local machine to a path name that can be sent in an HTTP message, or that will be used by a Unix-based application. <routine namespace="HTTPApp">DosPathToUnixPath</routine> converts all backslash characters (\) to forward slashes (/).</para>
  5559.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The Path parameter is the Dos-compatible path. The return value is the corresponding Unix-compatible path.</para>
  5560.          </comments>
  5561.       </member>
  5562.       <member name="M:HTTPApp.MonthStr">
  5563.          <summary>
  5564.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Converts a TDateTime into a string representing the month.</para>
  5565.          </summary>
  5566.          <comments>
  5567.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">HTTP message headers permit several formats for the representation of date and time values. <routine namespace="HTTPApp">MonthStr</routine> converts a TDateTime into a string representing the month. <routine namespace="HTTPApp">MonthStr</routine> allows server applications to work with date values taken from HTTP request messages, without worrying about the details of how they are formatted.</para>
  5568.          </comments>
  5569.       </member>
  5570.       <member name="M:HTTPApp.DayOfWeekStr">
  5571.          <summary>
  5572.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Converts a TDateTime into a string representing the day of the week.</para>
  5573.          </summary>
  5574.          <comments>
  5575.             <para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">HTTP message headers permit several formats for the representation of date and time values. <routine namespace="HTTPApp">DayOfWeekStr</routine> converts a TDateTime into a string representing the day of the week. <routine namespace="HTTPApp">DayOfWeekStr</routine> allows server applications to work with date values taken from HTTP request messages, without worrying about the details of how they are formatted.</para>
  5576.          </comments>
  5577.       </member>
  5578.    </members>
  5579. </doc>