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

求教大家,如何用结构体来当做参数传递?
...全文
451 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 接口来传递。 结果也支持脚本了。
内容概要:本文针对孤岛微电网在运行中面临的功率分配不均、电压频率波动等问题,提出了一种基于多智能体一致性演化的自适应虚拟阻抗容错控制与二次稳态补偿机制,并通过Simulink平台进行仿真实现。研究采用多智能体系统(MAS)框架,将各分布式电源建模为具备局部信息交互能力的智能体,利用一致性算法实现全局协同控制;结合自适应虚拟阻抗技术动态调节等效输出阻抗,有效克服线路阻抗差异导致的有功与无功功率耦合问题,提升功率均分精度;同时设计二次控制补偿环节,消除一次下垂控制引入的静态偏差,恢复电压和频率至额定水平。该机制具备良好的容错能力,在部分节点发生故障或通信中断时可自动重构控制结构,维持系统稳定运行,适用于高可靠性和自治性要求的孤岛微电网场景。; 适合人群:具备电力系统、自动化或电气工程等相关专业背景,熟悉微电网控制、多智能体系统理论及现代控制方法的研究生、科研人员及工程技术人员。; 使用场景及目标:①为孤岛微电网提供高精度、强鲁棒性的分布式协同控制解决方案;②解决传统下垂控制中存在的功率分配不准与电能质量下降问题;③实现系统在故障扰动下的自主容错与快速恢复,提升微电网的自愈能力与运行可靠性。; 阅读建议:建议读者结合Simulink仿真模型深入理解控制策略的实现细节,重点关注多智能体通信拓扑构建、一致性协议设计、虚拟阻抗自适应律以及二次补偿控制器的参数整定方法,同时可通过修改故障场景和通信条件进行对比实验,全面掌握该机制的动态响应特性与适应范围。

111,128

社区成员

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

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

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