タイプ ライブラリとは、COM コンポーネントでサポートされるオブジェクトと型に関する情報のあるファイルです。通常、COM コンポーネントでは、コンポーネントがサポートする定数をタイプ ライブラリに記述します。Web アプリケーションで使用する COM オブジェクトが、タイプ ライブラリにデータ型を宣言している場合、タイプ ライブラリを Global.asa に宣言できます。このように宣言すると、アプリケーションの範囲内にある任意のスクリプトから、タイプ ライブラリに宣言された定数を参照できるようになります。
ASP での定数の使用の詳細については、「変数と定数を使用する」を参照してください。
<!--METADATA TYPE="TypeLib"
FILE="file"
UUID="typelibraryuuid"
VERSION="majorversionnumber.minorversionnumber"
LCID="localeid"
-->
サーバーから次のようなエラー メッセージが生成されます。
エラー | 説明 |
ASP 0222 | 無効な TypeLib の指定です。METADATA タグが無効なタイプ ライブラリの指定を含んでいます。 |
ASP 0223 | TypeLib が見つかりません。METADATA タグがどのレジストリ エントリにも一致しないタイプ ライブラリの指定を含んでいます。 |
ASP 0224 | TypeLib を読み込めません。METADATA タグで指定されたタイプ ライブラリを読み込めません。 |
ASP 0225 | TypeLib をラップできません。METADATA タグで指定されたタイプ ライブラリから、タイプ ライブラリのラップ オブジェクトを作成できません。 |
METADATA タグは、Global.asa ファイルの先頭近くに指定することをお勧めします。ただし、これらのタグは、Global.asa ファイルの内部ならどこにでも指定できます。SCRIPT タグの内側でも外側でもかまいません。
定数のプレフィックスとしてタイプ ライブラリ名を付けると、定数へのあいまいな参照を避けることができます。たとえば、adErrItemNotFound と短く指定する代わりに、ADODB.adErrItemNotFound と指定すると、より明確になります。
Microsoft Visual InterDev を使用して Global.asa ファイルを作った場合は、METADATA タグはオプションの STARTSPAN キーワードおよび ENDSPAN キーワードを含みます。これらのキーワードは、IIS によって無視されます。
タイプ ライブラリのロケール識別子を指定しない場合は、システム用の既定のロケール識別子が使用されます。システム ロケール識別子が使用できない場合に、ロケール識別子がほかに指定されていないときは、タイプ ライブラリのロケール識別子は 0 に設定されます。
次の例にある MyComponent
は、Visual Basic 5.0 で開発されています。MyComponent
では、次のステートメントを使用して定数 MyError
を定義しています。
Public Const MyError = "You are not using MyComponent correctly."
タイプ ライブラリは、次のディレクトリにインストールされた MyComponent.lib に含まれています。
C:\MyComponent
次の METADATA タグは、MyApp アプリケーション用の Global.asa ファイルに含まれます。
<!--METADATA TYPE="TypeLib"
FILE="MyComponent.tlb"
-->
MyApp アプリケーションの任意の .asp ファイルに、次のスクリプトを入れることができるようになります。
<%
Dim MyVar
Set MyVar = Server.CreateObject("MyComponent.MyClass")
Currentreturn = MyVar.MyMethod
If Currentreturn = False
Response.Write(MyError)
End If
%>