VB程序中处理随机事件
在编程过程中,如何轻松处理众多的随机事件,往往是制作大型系统首先要考虑的问题之一。用C语言开发Windows程序时,可以很方便地使用消息机制,而在设计VB程序时,就没有这样方便的条件了。例如,当多个窗口同时打开同一个表时,当一个窗口中的数据被修改,而其他窗口可以相应地更新数据时,则需要在所有窗口中广播解释数据变化的消息。如果使用的语言是C,您只需要定义一个UserMessage来实现这一点。但是,如果是用VB编程的话,就没那么简单做了。VB 5.0企业版增加了很多强大的功能,有几个功能可以帮助我们解决难题。让我先介绍一下这些功能:
1.用户定义的事件:在类模块中,可以使用Event关键字定义用户定义的事件,并使用RaiseEvent语句生成事件。这种机制给处理随机事件带来了极大的便利。当接收到要广播的消息时,产生一个预定义的事件,需要处理该消息的对象对象只需要截获该事件就可以完成消息的传输。
2.ActiveX EXE组件:使用VB,可以很容易地将共享代码封装在ActiveX组件中。消息广播引擎在一个ActiveX组件中实现,不仅方便在程序中使用,更重要的是可以实现跨进程的消息传输。因为ActiveX组件有内部(DLL)和外部(EXE)两种,对于外部组件,模块中的全局数据可以共享(关于ActiveX代码组件
区别,请阅读VB的在线帮助文件)。
3.远程自动连接:ActiveX组件是标准的客户机/服务器结构。利用Windows平台的COM模型,VB可以很容易地将这种结构扩展到整个网络。所以我们的消息广播设计,在实现了进程间的消息传输之后,再实现网络上的消息传输,也是可以的。
通过以上介绍,这种方法的设计思路是清晰的。在具体设计中,四个模块相互协作完成消息的发送、广播和接收,四个模块封装在一个ActiveXEXE组件中。下面是这三个类模块的简要介绍和源代码:
其中一个模块:msg . cls——在这个模块中,定义了消息数据结构VbMsg类,它是消息传递中的载体。这只是一个简单的例子。如果想实现更多的功能,比如在两点之间建立一个数据通道而不是简单的广播消息,可能需要扩展这个结构。
选项显式
/状态:
/计息类别:定义全局的计息结构。
长/消除类型编号的公共类型
作为字符串/优惠券名称的公共名称
字符串形式的公共来源/利息消除来源的说明
I .字符串描述/利息消除的解释
将它显示为利息消除发生的日期/时间
/返回到日类型时间
公共属性Get iTime()作为日期
iTime = iT
结束属性
/Return字符类型时间。
公共属性将iTimeStr()作为字符串获取
iTimeStr = Format(iT," yyyy.mm.dd hh:mm:ss ")
结束属性
/设置对象时,设置利息消除的发生时间。
私有子类_Initialize()
iT =现在()
末端接头
位律师回复
0条评论