我们有一个用C ++ 6.0编写的旧ActiveX控件。 它在VB6中运行正常。
现在我想添加一个名为OnNewPosition的自定义事件。 我使用类向导来设置此事件。
结果如下:
EVENT_CUSTOM("OnNewPosition", FireOnNewPosition, VTS_R8 VTS_R8 VTS_R8)
void FireOnNewPosition(double x, double y, double z)
{FireEvent(eventidOnNewPosition,EVENT_PARAM(VTS_R8 VTS_R8 VTS_R8), x, y, z);}
我也可以解雇此事件
FireOnNewPosition(1 , 2 , 3);
在VB6中,我可以看到事件:
Private Sub G_OnNewPosition()
但缺少参数。 应该看起来
Private Sub G_OnNewPosition(ByVal x As Double, ByVal y As Double, ByVal z As Double)
我已经尝试找出与C ++方面其他类似事件的区别。 无法找到差异:
EVENT_CUSTOM("OnSelect", FireOnSelect, VTS_I4)
void FireOnSelect(long id)
{FireEvent(eventidOnSelect,EVENT_PARAM(VTS_I4), id);}
这个显示VB6中的参数:
Private Sub G_OnSelect(ByVal id As Long)
我在这里想念什么?
答案 0 :(得分:0)
好的,没有找到直接解决方案。
它似乎它与名称 OnNewPosition 有关。
我尝试了另一个事件名称: NewPosition 。有了这个参数就显示出来了。
然后我再次尝试 OnNewPosition ,而 NewPosition 存在。 结果是一样的,没有参数...
试图删除两者,然后再次尝试 OnNewPosition 。 没有运气。
现在我坚持使用 NewPosition ,因为它有效。