みなさんこんにちわ
今、C#でCOMを作成し、それをJScriptから
var com =new ActiveXObject("comtest.Class1");
でオブジェクトを作成しています。
JScriptからCOMのメソッド(testメソッド)は
com.test()
で呼び出す事ができたのですが、
逆にCOMからJScriptへのイベントの通知をどのように行えば
よいかわかりません。
COMはテスト用として以下のようなソースを書きました。
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace comtest
{
public delegate void Eventtest();
/// <summary>
/// comを公開するためのinterface
/// </summary>
[Guid("A6784526-7408-4BF5-B02E-17158FE30DA3")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)]
public interface PersonEvents
{
[DispId(1)]
//void eventtest(object sender, EventArgs e);
void eventtest();
}
/// <summary>
///
/// </summary>
[ComSourceInterfaces("comtest.PersonEvents,comtest")]
public class Class1
{
public event Eventtest eventtest;
public void handler()
{
//何もしない
}
//テスト用メソッドこれが呼ばれるとイベントが発生する。
public void test()
{
eventtest();
}
}
}
このC#のソース内のeventtestに対してJScriptのメソッドをどう関連つければ
COMからイベントを通知できるのでしょうか?。
よろしくお願いします。