Web.WebBroker.TWebApplication
Delphi
TWebApplication = class(TWebRequestHandler)
C++
class PASCALIMPLEMENTATION TWebApplication : public Web::Webreq::TWebRequestHandler
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | Web.WebBroker.pas Web.WebBroker.hpp |
Web.WebBroker | Web.WebBroker |
説明
TWebApplication は、Web サーバー アプリケーションをカプセル化します。
TWebApplication は、基本的な Web サーバー アプリケーションの動作を提供します。TWebApplication は、HTTP リクエスト メッセージとそれらのレスポンスを表す、TWebRequest および TWebResponse オブジェクトを作成するためのメソッドを提供しており、それらオブジェクトをディスパッチャへ渡し、レスポンスがそれに対して値を設定し、そのレスポンスを Web クライアントへ送信できるようにします。
各 Web サーバー プロジェクトは自動的に Application 変数(TWebApplication 型)を、アプリケーションのインスタンスとして宣言します:
- Apache アプリケーションの場合、この変数は、Web.ApacheApp ユニット内の TApacheApplication オブジェクトに初期化されます。
- CGI アプリケーションの場合、この変数は、Web.CGIApp ユニット内の TCGIApplication オブジェクトに初期化されます。
- ISAPI アプリケーションの場合、この変数は、Web.Win.ISAPIApp ユニット内の TISAPIApplication オブジェクトに初期化されます。
Application 変数は、IDE のメイン ウィンドウにおいて [ファイル|新規作成|その他...]を選択し、[項目の新規作成]ダイアログで[WebBroker|Web サーバー アプリケーション]選択することで、プロジェクトに追加することができます。
Forms ユニット(Vcl.Forms または FMX.Forms)をプロジェクトの uses リストに追加したり(Delphi の場合)、Vcl.Forms.hpp や FMX.Forms.hpp をプロジェクトのソース ファイルでインクルードしたり(C++ の場合)してはいけません。これらのアクションは、競合する TApplication 型の Application 変数を宣言してしまいます。
また、Web.ApacheApp ユニットや Web.Win.ISAPIApp ユニットを CGI アプリケーションに追加したり、Web.CGIApp ユニットを Apache アプリケーションや ISAPI アプリケーションに追加してもいけません。CGIApp ユニット、ISAPIApp ユニット、ApacheApp ユニットは、それぞれ Application 変数の初期インスタンスを作成します。これらユニットを複数 uses リストに含めることは、最初のユニット内で作成されたオブジェクトのメモリ喪失を招きます。