○ActiveX DLL EXEからイベントの送信

VC2002 2003でしか試していません
VC6ではやり方が違うみたいです。

@新規作成でATLプロジェクトを作成します。
クラスの追加→ATLシンプルオブジェクト


Aオプションを選択して接続ポイントにチェックを入れます


Bイベントインターフェイスにメソッドを追加します


これがVBなどのイベントメソッドになります。
void event(void);のメソッドを作成しました。


C後はクラスのインターフェイスにメソッドなどを追加して上で作成したイベントメソッドを呼び出すだけでイベントが送信できます。


STDMETHODIMP Cclass1::EventSend(void)
{
	// TODO: ここに実装コードを追加してください。

	event();//これだけでイベントを送信できます。

	return S_OK;
}


■上のイベントをVB6で使用するには、

参照設定にて上のActiveXを追加してください

Public WithEvents obj  As クラス名.Cclass1

上の一文を追加すると、下のようなイベントが選択できます

Private Sub obj_event()

End Sub

オブジェクトを生成するのを忘れずに!

Private Sub Form_Load()
	Set obj = New クラス名.Cclass1
End Sub



▲トップページ > Windows と C++