Visual Basic 6.0 で ActiveX の EXE 形式のプログラムを作成しました。
内部にタイマーがあり、一定間隔でイベントを発生させるプログラム内容です。
VBの場合、クライアント側で、このActiveX の EXEを使用する場合、以下の記述をします。
Public WithEvents mwcmnSio As SioMonitor
Public Dim mccTest As Connector
Set mccTest = New Connector
Set mwcmnSio = mccTest.SioMonitor
ここで、質問なのですが、クライアントのプログラムを VC 6.0 で作成する場合、
ActiveX の EXE 形式を新しいクラスとして読み込めるのですが、上記にある
Set コマンドに対応する VC の記述方法が分かりません。
どなたか、どうぞ宜しくご回答お願いします。
一行目は CoCreateInstance() に相当します。
二行目は QueryInterface() に相当します。
が、VC++ では二行目の Set は必要なく、イベントハンドラを記述する必要があります。
MFCで同様の事をするのでしたらプロジェクトメニューからコントロールをプロジェクトへ追加すると
CWndベースのラッパクラスが出来上がります。ラッパクラスの中には SioMonitor イベントコンポー
ネントのラッパも出来上がっているはずなので、必要な部分をオーバーライドすることで OK です。
ATL の場合は ISioMonitor をインプリメントし、イベントハンドラ部分を全て実装する必要があります。
この辺は ATL のサンプルを見ると分かるかもしれません。
ジオラさん、回答ありがとうございました。
中々、質問の仕方が悪い様で、回答をもらえませんでした。
早速、実験してみます。
ありがとうございました。