Last Updated 2005/08/17
Visual C++ DLL
VBで作成したDLLの呼び出し
2005/08/17

VB にて作成可能なのは「ActiveX DLL」である.
要するに「COM コンポーネント」である.

それを VC++ から使用するには import ディレクティブを使用すれば簡単である.
import ディレクティブを使用すると,VB で参照設定した時と同じような効果が得られる.
import ディレクティブによって COM コンポーネントが公開するオブジェクトの「スマートポインタ」が利用可能になる.


stdafx.h などで
#import "hogehoge.dll"
とすると,hogehoge.dll が公開するオブジェクトの情報が取り込まれて自動的に必要なヘッダファイルなどが作成される.

例えば IHoge インターフェイスを持ったオブジェクトが公開されていたら,以下の様にする.

  IHogePtr spIHoge;             // IHoge へのスマートポインタ

  spIHoge.CreateInstance(割愛); // インスタンスの作成
                                // CreateObject() 相当

  spIHoge->DoSomthing();        // メソッドの呼び出し

  spIHoge->put_Something(0);    // プロパティの設定


import ディレクティブを使用する際には,CoInitialize() もしくは CoInitializeEx() をしなければならない.

「#import ディレクティブ」の解説参照


参照
前後のTips
VBで作成したDLLの呼び出し

DSS ProgrammingTipsCGI Ver1.02