VB 进程间同步通讯

VB 进程间同步通讯,第1张

概述例子的来源是MSDN,很早在MSDN上面看到的,后来找不到了,这次是从MSDN中VB例程cofee例程上摘录的,原理相同,都是用active,自定义事件. 1创建一个Active Exe工程,我叫pro_comm_pro吧, 2 添加一个标注模块 , Module1.bas:   Public gCLS1 As cls1 '全局变量,保存对分发消息的类对象cls1的引用,以前没有定义为Public

例子的来源是MSDN,很早在MSDN上面看到的,后来找不到了,这次是从MSDN中VB例程cofee例程上摘录的,原理相同,都是用active,自定义事件.

1创建一个Active Exe工程,我叫pro_comm_pro吧,
2 添加一个标注模块,Module1.bas:
Public gCLS1 As cls1 '全局变量,保存对分发消息的类对象cls1的引用,以前没有定义为Public,不可以运行
3 添加类cls1.Cls
修改这个类的属性: Instancing = 2 'PublicNotCreate,不可以从外部进程创建
其他属性使用默认
4 添加如下代码到cls1.Cls:

VB code
                      Private         mvarmVal         As                 String                 '        属性变量                          Public         Event ValChange(vData         As                 String        )        '        通知事件                          Public                 Property                 Let         mVal(ByVal vData         As                 String        ) mvarmVal         =         vData RaiseEvent ValChange(vData)         End Property                 Public                 Property                 Get         mVal()         As                 String         mVal         =         mvarmVal         End Property      

5 添加一个类clsH.Cls,这个类仅仅是个接口,没有多少功能的.属性默认,代码如下:

VB code
                               Public                 Property                 Get         GetCls()         As         Variant         If         gCLS1         Is                 nothing                 Then                 Set         gCLS1         =                 New         cls1         End                 If                 Set         GetCls         =         gCLS1         End Property      

...
这个工程就完成了,生成exe文件吧,我叫的是pro_comm_pro.exe

另外新建一个标注工程
1 新建工程
2工程->引用->浏览,选择我们pro_comm_pro.exe
3 在form1添加个command1,添加如下代码在form1.frm里面,呵呵:

VB code
                               Dim         WithEvents ss         As         cls1        '        ss,事件通知我们数据改变                          Dim         cc         As         clsH         '        连接器对象                          '        按这个按钮,修改cls1(ss)的属性值                          Private                 Sub         Command1_Click() ss.mVal         =                 Time                 End Sub                 '        初始连接器cc,初始cls1,事件分发对象ss                          Private                 Sub         Form_Load()         Set         cc         =                 New         clsH         Set         ss         =         cc.GetCls         End Sub                 '        接受到数据改变事件                          Private                 Sub         ss_ValChange(vData         As                 String        ) Form1.Caption         =         ss.mVal         End Sub      

4 编译生成工程吧,我交cli.exe运行2个cli.exe,点击command1,会看到,两个窗口同时改变,需要更多同步信息

总结

以上是内存溢出为你收集整理的VB 进程间同步通讯全部内容,希望文章能够帮你解决VB 进程间同步通讯所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1293168.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存