VB程序中处理随机事件
来源:优易学  2011-1-7 7:16:24   【优易学:中国教育考试门户网】   资料下载   IT书店

  类模块之二:MsgCli.cls ---- 本模块是对客户接收端MsgClient类的定义,这相当于一 个消息接收器。在这个类中定义的一个RecMsg事件,当接收器收到消息时(过程SetMsg被调用),就产生这一事件.接收器的建立者就截获这一事件,并处理消息。为了避免接收不必要的消息,声明了minMsg、maxMsg两个变量,以便对VbMsg中的iType属性进行过 滤。

Option Explicit

´ 说 明:

´ 客 户 消 息 接 收 类

´ 定 义 接 收 消 息 事 件, 该 对 象 的 宿 主 类 应 截 获 该 事 件,

并 处 理接 收 到 的 消 息。

Public Event RecMsg(ByVal msg As VbMsg)

´ 通 过 设 置 消 息 的 接 收 范 围, 可 以 过 滤 掉 不 需 要 的 消息

Public minMsg As Long

Public maxMsg As Long

´ 该 对 象 的 标 志 编 号, 使 用 时 不 应 修 改 该 值

Public ID As Long

´ 事 件 产 生 过 程, 只 应 由 消 息 服 务 器(MsgServer) 调 用

Public Sub SetMsg(msg As VbMsg)

  If msg.iType >= minMsg And msg.iType <= maxMsg Then RaiseEvent RecMsg(msg)

End If End Sub ´ ´

  根 据ID, 返 回 对 象 的 关 键 字, 只 应 由 消 息 服 务 器(MsgServer)调 用

Public Property Get Key() As String Key="ID:" & ID End Property

  类模块之三:Global.bas ---- 本模块声明了两个全局变量,一个是接收器(MsgClient)列表(Clients),一个是接收器计数器,以为每个接收器分配一个唯一的ID标志。把变量放在单独的模块中,是为了实现数据在进程间的共享,是跨进程间消息传递的关键所在。(应保证在编译时工程是单线程的,否则数据共享则不能实现。)。

Option Explicit

/ 说 明:

/ 消 息 服 务 器 全 局 变 量

/消 息 接 收 客 户 列 表

Public Clients As New Collection

/ 消 息 接 收 客 户ID 计 数 器

Public CliCount As Long

上一页  [1] [2] [3] [4] 下一页

责任编辑:虫虫

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训