オートメーション - クライアントの実装

いちごパック > COM/ActiveXの解説 > オートメーション - クライアントの実装

呼び出すCOMサーバ

COMサーバの実装は後で与えることにして、今回はまずクライアントを実装します。 COMサーバは次のように、EXEサーバ - サンプルCOMサーバの機能とほぼ同じ機能を備えるものとします。
  • 文字列を与えてWrite()メソッドを呼び出すと、ファイルにその文字列を書き出す
  • 固有のCLSIDを持つ
  • CLSIDに対応するProgIDとしてIchigo3.Logwriterを持つ
  • ProgIDをレジストリに登録しておくことで、スクリプト言語からProgIDでcoclassを参照できます。

    Visual Basic Scriptの呼び出しコード

    COMクライアントの機能を持つスクリプト言語として、 ここではWindows標準のVisual Basic Scriptを扱います。 Visual Basic Scriptでは、CreateObject()でcoclassのインスタンスを作成し、 返されたオブジェクトのメソッドをIDispatchを介して呼び出すことができます。 また、拡張子は.vbsになります。
    Visual Basic Scriptによる呼び出しコードは次のようになります。
    Option Explicit
    Dim obj
    Set obj = CreateObject("Ichigo3.Logwriter")
    obj.Write "ichigopack COM sample 3" & vbLf
    
    このコードは、ProgIDとしてIchigo3.Logwriterを持つcoclassのインスタンスを作成し、 "ichigopack COM sample 3\n"を引数としてメソッドWriteを呼び出しています。 メソッド呼び出しにはIDispatchのGetIDsOfNames()、Invoke()を用いています。
    次はこのコードを動作させるための、COMサーバの実装について説明していきます。

    関連ページ

  • COM/ActiveXの解説ページ 目次
  • 前の項目: スクリプト言語への対応方法
  • 次の項目: IDispatchインターフェース