您的位置:程序门 -> vb -> 基础类



两个vb程序的同步问题?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


两个vb程序的同步问题?[已结贴,结贴人:fangyc]
发表于:2007-02-14 13:28:06 楼主
我做了两个vb的进程
我是通过消息的方式来监控对方的,因为a进程要确定b进程是活着的,所以a会定时发送一个消息给b,然后b收到消息后会回复a。
但是发现b程序如果忙着做一件事情的时候,就是属于那种调用一个函数需要执行很长时间的那种,不能被打断的。
而这个时候a程序如果发送消息给b,如果b不回复,好象a也会跟着他一起死掉的。直到b开始活过来了,a也就活了。


那请问我想要的这种功能,是不是用了消息的方式是错误的。应该采用另外一种监控的方法更加合理!
这个vb   不能多线程真是烦人啊,本来我就不用多进程监控了!
发表于:2007-02-14 14:38:541楼 得分:0
上面的问题我已经处理了!

就是我想问一下大家,大家是否碰到过一个程序一定要是多线程的vb程序要怎么办!
这个问题真是搞的我头大了现在。一开始不知道vb   对多线程的兼容那么差。
有谁碰到过一定要将vb做的程序转成多线程怎么办,是转平台到   .net?还是怎么处理?
发表于:2007-02-14 14:39:512楼 得分:5
那个执行很长时间的函数里,在某些关键的位置放些doevents看看
发表于:2007-02-14 14:42:423楼 得分:0
非得a发送消息给b   b就立刻回复吗?
可以给a接收回复消息设个范围
例如a发消息后   b在5秒内没发送消息回来
就说明b出了问题   然后重启b
发表于:2007-02-14 16:05:054楼 得分:0
to:beal_p()  
我也很想用doevents,但是我调用的是一个动态库的函数,不可拆分的,他会占据我很多时间去调用好,我就会在调用这个函数的时候死掉一样,只有调用好了才会执行别的程序。我只想问碰到了我这样的问题是不是非要用多线程?是否有人碰到过和我一样的问题,你们最后是怎么处理的?
发表于:2007-02-14 16:06:085楼 得分:0
to:yangao
你说的问题我已经处理好了,谢谢!
现在帮我看看我想多线程的问题吧!
发表于:2007-02-14 16:17:296楼 得分:10
做个activex控件,在activex控件中调用动态库的函数。
activex控件会在独立的线程中运行,这样应该能解决你的问题。
发表于:2007-02-14 16:32:027楼 得分:0
to:jadeluo
activex控件真的会独立成为一个线程吗?
我activex控件之间的接触很少,请问在vb中做哪中activex控件可以达到你说的这种效果,谢谢!
发表于:2007-02-14 16:35:058楼 得分:0
是   activex   dll   还是   activex   exe,还是   activex   control?
发表于:2007-02-14 16:38:259楼 得分:10
都可以。一般用activex   control或者activex   dll。
发表于:2007-02-14 16:44:2110楼 得分:10
jadeluo(秀峰)   (   )    
  都可以。一般用activex   control或者activex   dll。
activex   dll是进程内的,做多线程要用进程外运行的activex   exe    
 
发表于:2007-02-14 16:49:3311楼 得分:0
我刚才做了一个activex   control,做了一个时钟控件来显示当前的时间,1秒钟刷新一次。
但是当我把这个编译出来的ocx控件,放入一个应用程序中执行。
但是我如果在这个应用程序中执行一个100000次的循环,我做的控件上的时间不会刷新的。
那就是证明这个   activex   control   没有多线程!
发表于:2007-02-14 16:52:0912楼 得分:0
activex   exe     怎么是一个exe   啊,那在进程外调用,不是变成两个exe了,还是多线程吗,不是变成多进程了啊?
发表于:2007-02-14 16:52:5313楼 得分:10
你应该做个在activex   control中执行一个死循环,然后看主进程是否还活着的测试。
发表于:2007-02-14 16:57:1914楼 得分:0
我做个你说的实验了,照样死掉!
发表于:2007-02-14 20:07:4115楼 得分:5
a程序的监视方法修改以下就可以哦了
发表于:2007-02-15 08:57:5416楼 得分:0
activex   真能起到稳定的多线程功能吗?
发表于:2007-02-26 15:15:3217楼 得分:0
顶一下,怎么没人回答了,我很想知道   activex     真能起到稳定的多线程功能吗?
发表于:2007-02-27 17:40:4918楼 得分:10
用activex控件来实现多进程,相当于将多个exe包含在一个exe内运行,这是经过测试可行的。
发表于:2007-02-27 17:41:2819楼 得分:0
真的一定要用多线程么.............55555555555555
发表于:2007-02-28 15:28:3220楼 得分:0
to:wallescai   能否给我一个参考的例程,谢谢!


快速检索

最新资讯
热门点击