CreateObject
CreateObject メソッドは、サーバー コンポーネントのインスタンスを作成します。コンポーネントに OnStartPage メソッドと OnEndPage メソッドが実装されている場合は、この時点で OnStartPage メソッドが呼び出されます。サーバー コンポーネントの詳細については、「ASP で利用可能なコンポーネント」を参照してください。
構文
Server.CreateObject( progID )
パラメータ
- progID
作成するオブジェクトの種類を指定します。progID の形式は [Vendor.]Component[.Version] です。
解説
特に指定しない限り、Server.CreateObject メソッドで作成されたオブジェクトはページ スコープを持ちます。つまり、これらのオブジェクトは、サーバーが現在の ASP ページの処理を完了した時点で自動的に破棄されます。
セッション スコープまたはアプリケーション スコープを持つオブジェクトを作成するには、Global.asa で <OBJECT> タグを使用して SCOPE 属性を SESSION または APPLICATION に設定するか、あるいはオブジェクトをセッション変数かアプリケーション変数に格納します。
たとえば、次のスクリプトでセッション変数に格納したオブジェクトは、Session オブジェクトが破棄されたとき、つまり、セッションがタイムアウトになるか、または Abandon メソッドが呼び出されたときに、破棄されます。
<% Set Session("ad") = Server.CreateObject("MSWC.AdRotator")%>
また、変数を Nothing に設定するか、または下の例のように新しい値を設定することで、オブジェクトを破棄することもできます。1 番目の例ではオブジェクト ad
を解放しています。2 番目の例では ad
を文字列に置換しています。
<% Session("ad") = Nothing %>
<% Session("ad") = "some other value" %>
組み込みオブジェクトと同じ名前のオブジェクト インスタンスは作成できません。たとえば、次の例はエラーを返します。
<% Set Response = Server.CreateObject("Response") %>
例
<% Set MyAd = Server.CreateObject("MSWC.AdRotator") %>
この例は、MSWC.AdRotator コンポーネントとして MyAd
というサーバー コンポーネントを作成しています。このコンポーネントは 、Web ページ上の広告の交換を自動的に行うために使用します。
サーバー コンポーネントの詳細については、Platform SDK を参照してください。