读书人

C#调用COM组件的连接点事件函数参数

发布时间: 2013-09-22 09:32:58 作者: rapoo

求助:C#调用COM组件的连接点事件,函数参数是结构体如何传
用VC做的COM组件,
连接点事件的方法需要传一个结构体作参数,参数太多,用结构体封装比较方便。
C#代码:


public Form1()
{
aa = new IMYCOMLib.IMycomInterface();
aa.NotifyFinish += new _IMycomInterfaceEvents_NotifyFinishEventHandler(aa_NotifyFinish);

aa.NotifyData += new _IMycomInterfaceEvents_NotifyDataEventHandler(aa_NotifyData);

}

void aa_NotifyFinish(string id)
{
xxxx;
}

void aa_NotifyData(string ID, ref Result pResult)
{
xxxx;
}


在C# 的代码中已经可以看到要添加的连接点事件的方法,而且也可以看到定义的结构体Result的成员。
但是运行时无法进入这个函数,没有任何反映,
如果方法的参数不是结构体,就没有问题,可以进入方法,一改为结构体就不行了。

求教大家,如何用结构体来当做参数传递?
[解决办法]
我曾经也遇到过,可惜一时没有解决方案。
后来使用的 COM 接口来传递。
结果也支持脚本了。
[解决办法]
C#创建对应的结构体

COM组件注册后引用会让你传一个object过去的吧

读书人网 >C#

热点推荐