JavaScript での OLE オートメーションの使用
2. バインディングとは
オブジェクト モデルのプロパティ、メソッド、イベントを使用する前に、使用するプロパティ、メソッド、またはクラスを含むプログラム参照を作成する必要があります。行事。これを行うには、オブジェクトへの参照を保持するローカル オブジェクト変数を宣言します。次に、ローカル変数にオブジェクトのアプリケーションを指定します。
VB と VBScript は、Jscript が ActiveXObject() コンストラクターを使用するときに、CreateObject() 関数を使用してオートメーション オブジェクトへの参照を許可し、返します。
実際、バインディングとは、Visual Basic コードが他のアプリケーションのオブジェクトにアクセスする方法を指します。あるアプリケーションからオートメーションを使用して別のアプリケーションのオブジェクトを操作する場合、Visaul Basic コードを作成するアプリケーションがオートメーション コントローラーになります。オブジェクトを処理しているアプリケーションはオートメーション サーバーです。オートメーション コントローラーが、オートメーション サーバーによって提供されるオブジェクトを指す変数を作成する場合、Visual Basic は、オブジェクトが存在すること、およびオブジェクトで使用されるプロパティとメソッドが正しく指定されていることを確認する必要があります。この検証プロセスを「バインディング」と呼びます。 Visual Basic プログラム開発者が知っておくべきバインディングには、遅延バインディングと早期バインディングの 2 種類があります。
遅延バインディング
遅延バインディングは実行時に発生し、早期バインディングよりも遅くなります。遅延バインド オートメーション コードでは、Visual Basic は、オブジェクトを含むコード行を実行するたびに、オブジェクトとそのメソッドおよびプロパティをクエリする必要があります。オブジェクトとそのメソッドとプロパティが正しく指定されていることを確認するために、Visual Basic はオペレーティング システムとそのオブジェクトをサポートするアプリケーションを確認する必要があります。 Visual Basic コードの一部を見てみましょう:
Dim wdApp As Object
Set wdApp = CreateObject("Word.application")
この wdApp 変数は、一般型オブジェクトとして定義されます。変数が宣言されるとき、Visual Basic は変数がどのような種類のオブジェクトであるかを認識しないため、オブジェクト用に一定量のメモリを確保しておく必要があります。特定のオブジェクト参照は通常の変数に割り当てられるため、アプリケーションはオブジェクトのインターフェイスが何で構成されているかを知る方法がありません。アプリケーションがユーザー インターフェイスにバインドされるのは実行時のみです。したがって、新しいオブジェクトを参照するたびに、Visual Baisc はシステム レジストリをチェックして、オブジェクトに関する情報を取得する必要があります。
早期バインディング
早期バインディングは、オートメーションのパフォーマンスの低下に対する優れた解決策です。早期バインディングは実行時ではなくコンパイル時に行われるため、コンパイル段階でコードが保存されると、コードが実行される前にバインディングが完了します。早期バインディングを使用する場合、Visual Basic はオブジェクト情報を継続的に検証する必要はありませんが、アプリケーションの実行時にオブジェクトを使用します。
さらに、すべてのオートメーション サーバーが早期バインディングをサポートしているわけではありません。オートメーション サーバーは、サーバー オブジェクト、メソッド、プロパティに関する情報を含むタイプ ライブラリをサポートする必要があります。事前バインディングを利用するには、オートメーション サーバーのタイプ ライブラリへの参照を設定する必要があります。 Visual Basic はタイプ ライブラリをメモリに読み込みます。これにより、コードのコンパイル時にこれらのオブジェクトを識別してバインドできるようになります。次のコード スニペットは、オブジェクトの事前バインディング インターフェイスを作成する方法を示しています。
Dim wdApp As Word.Application
Set wdApp = CreateObject("Word.Application")
上記は、JavaScript サンプル チュートリアル (20) OLE です。オートメーション(2)。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。