登录
首页 电脑编程
回帖 发帖
正文

主题:VB编程疑问

点击:2704 回复:9

用VB编写了数据采集得程序。在采集过程中,如果我点击菜单,进行保存等其他操作时,采集却中断了,采集数据不能更新,使采集数据有误。请问这种情况怎么解决?
05-08-16 15:38
大家没有碰到这样的问题吗?我做过一个串口通信的程序,也是这样的。当用鼠标拖动窗体移动是,应该已经在接收信息,但是程序并没用对信息进行处理,当松开鼠标时才继续进行。以为是timer控件的原因, 但是我不使用timer控件通讯也存在同样问题啊。哪位知道怎么解决?先谢了!
05-08-16 19:58
应该将数据采集相关的程序段做成后台服务的形式。
   如果将数据采集程序放在窗体内部,则窗体移动或改变大小时,则主程序将忙于处理窗口重绘程序而无暇顾及其他,所以会出现你说的那种情况。
05-08-16 20:13
谢谢leicheng!
我按你说过的方法试过了。
我还有个问题请教:通讯时接收的信息需要实时显示,在移动窗体的时候还会出现暂停的现象。遇到这样的情况我该怎么处理?想不明白.....
05-08-16 21:35
多线程程序可以解决,不过vb对多线程的支持很差。
05-08-27 21:00
在拖动时,窗体线程是暂停状态.
你可以把采集过程放在一个ActiveX EXE里,在主程序里引用.
这样,采集过程与主窗体是两个进程,不会有影响.
我的程序大部分是这样的结构.
05-09-05 18:23
谢谢了!
做的东西已经交工了,虽然还有些问题没解决.自己再慢慢学习吧。
05-10-28 19:15
楼上的仁兄,能够发个例程我看看,谢谢!
我现在也碰到这个问题,但不知道如何处理?恳请帮忙一下!
我的信箱:microsoft27@163.com
谢谢您了!
05-11-04 11:59
楼上的仁兄,能够发个例程我看看,谢谢!
恳请帮忙一下!
我的信箱:chenwei0719@yahoo.com.cn
谢谢您了!
06-01-08 10:39
此处有我写的一个例子,功能是取得某网址的源代码.
它在ActiveX EXE内部其实是以多线程方式工作的.
ActiveX EXE已经调整为"每个对象使用一个线程",编译后再在主程序里引用一下就可以看到效果了.
以下是地址:
http://www.m5home.com/bbs/dispbbs.asp?boardID=10&ID=556&page=1
有游客用户名的.
06-02-25 16:54

工控新闻

更多新闻资讯