OCX组件的事件怎么获取值 我从厂家获得一个OCX组件,其中有个函数A,调用它是会触发事件OnA(long s, short* v, long length)。 我在.net中调用此组件,名字为wap 这个OnA事件在.net中被包装成,wap_OnA(object sender, AxWPALMLib._DWPalmEvents_OnCaptureEvent e), 其中e内包含属性int型s,short型v,int型length 问题: 1、属性 v 在ocx组件是数据的指针,在.net中却变成了short型的。 2、函数A调用后会多次触发OnA事件并返回 s 的值,请问事件OnA怎么能获取连续的 s 值。
在C++bulider中能执行通过,但是在.net中却不能获取值。
------解决方案--------------------
使用out关键字,然后传递e的值,然后再通过其他全局变量获取e.s的值。 代码如下: //定义变量 private AxWPALMLib._DWPalmEvents_OnCaptureEvent ev = new AxWPALMLib._DWPalmEvents_OnCaptureEvent(); object a = new object();
声明事件处理函数的时候这样: wap_OnA(object sender, out AxWPALMLib._DWPalmEvents_OnCaptureEvent e) 调用时这样: wap_OnA(a, out ev)