首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于ActiveX事件的有关问题

2014-06-05 
关于ActiveX事件的问题我采用.NET的VC编写了一个ActiveX,其中定义event的如下:[id(1),helpstring( 方法Di

关于ActiveX事件的问题
我采用.NET的VC编写了一个ActiveX,其中定义event的如下:
[id(1),   helpstring( "方法DispatchStateEvent ")]   void   DispatchStateEvent(LONG   nState,   BSTR   szTime);
在我的程序的某个地方我采用如下方式激发事件:
FireEvent(dispidDispatchStateEvent,EVENT_PARAM(VTS_UI4   VTS_BSTR),state,wcTime);

可是我却发现,在VB程序程序中,容器响应该事件的函数却成了这个样子:
  Private   Sub   ocxAgent_DispatchCallEvent(ByVal   sender   As   Object,   ByVal   e   As   AxAgentOcxLib._DAgentOcxEvents_DispatchCallEventEvent)   Handles   ocxAgent.DispatchCallEvent

也就是说,我的VB程序没有获取到相关的nState和szTime的参数,我的VC代码中什么地方出问题了吗?能不能在VB中实现类似下面的方式:
Private   Sub   ocxAgent_DispatchCallEvent(byval   nState   as   long,byval   szTime   as   string   )   Handles   cxAgent.DispatchCallEvent

??


[解决办法]
自己不用修改事件定义本身的代码, 只用ClassWizard生成一个事件,设置好属性.

然后在控件里边合适位置FireEvent1即可,不必修改_Dispatch等源码.
[解决办法]
在VC7里面是要自己加好多源代码的,所以我装了VC6及VC7,出错时就用VC6做,不出错就用VC7,嘿嘿!

热点排行