求助:C#调用COM组件的连接点事件,函数参数是结构体如何传

t_ianya 2013-09-16 10:22:29
用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的成员。
但是运行时无法进入这个函数,没有任何反映,
如果方法的参数不是结构体,就没有问题,可以进入方法,一改为结构体就不行了。

求教大家,如何用结构体来当做参数传递?
...全文
324 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
t_ianya 2013-09-19
  • 打赏
  • 举报
回复
额,最终还是没解决,用string转换了,悲催,楼上回复的各位都有分,感谢!
t_ianya 2013-09-16
  • 打赏
  • 举报
回复
午休时间,各路大神现身,
卧_槽 2013-09-16
  • 打赏
  • 举报
回复
C#创建对应的结构体 COM组件注册后引用会让你传一个object过去的吧
Saleayas 2013-09-16
  • 打赏
  • 举报
回复
我曾经也遇到过,可惜一时没有解决方案。 后来使用的 COM 接口来传递。 结果也支持脚本了。

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧