Private Sub a1_Click()sleep 5000 '这是一段程序,有时执行时间短,有时长。有时候过长难以忍受,但不是循环,用a2.click使其在需要的时间点上停止下来。if time>4000 then exit a1 '这里是瞎写的,不符合VB规则。实际应该如何写程序,能让a1在规定的时间点上停下来,而不至于等待时间太长(假死)。
end sub
上面已经描述的很清楚了,就是a1 可能执行时间过长,只要能使a1中途停下来就成。谢谢各位大哥。
解决方案 »
- 控件如何卸载的问题,实在是没有办法解决,大家多多帮忙啊,十分感谢!!!!!!!!!!!!!!!!!!!
- printer如何精确定位
- 小弟用vb6.0在做海康威视的DS-4004HC卡,遇到一个问题,请教各位~
- 如何获取执行的存储过程即返回记录集又返回记录集的行数? ---急救!
- 网页ASP和另外一个应用程序共同读写*.mdb,会不会产生冲突?
- 用Inet控件登陆ftp服务器,如何取得欢迎信息(急)
- 如何使用权winsock控件发送大尺寸文件?
- 一个关于CheckBox控件与数据字段绑定的问题。
- 为什么toolbar 的 imagelist 列表里面,加不进ImageList ?
- 关于datacombo的问题?
- 获取键盘事件
- 请问为什么:VB在写代码的时候,老是会出错,运行不了多久就会挂掉?
dim flag as booleanPrivate Sub a1_Click()sleep 5000 if time>4000 then flag=true
end sub在a1过程或函数中
if flag then exit sub/function
如果你想在sleep过程中执行其它的,肯定的用多线程了,或者,改其它思路,不用sleep了
timeSetEvent
timeKillEvent
这样CPU占用率没那么高
to 6楼我这里主要不想贴代码,所以用了个sleep,表示执行这段程序需要很长时间,而且有可能假死。随后,我在1楼说明了我是想用 XMLHTTP。不过现在用 MSXML2.ServerXMLHTTP 的超时参数将问题解决了。假如说,问题不解决的话,我想应该是必须用超线程的。
to 7 楼对于我这样问这种简单问题的人来说,贴个函数基本没用。我其实是想解决当某sub正在运行的时候,如何让他中止下来,(循环可用doevents,但这里恰恰没有循环)。多线程似乎是唯一可以选择的,用另外一个线程kill这个线程吧。
总之,这个问题算是解决了。以后还会有很多问题,前天晚上刚学vb,今天刚刚写完,调试没有问题了,不过bug肯定有,还有一些功能模块似乎没有添加上。而且只做了一个窗体,显得单调了些谢谢各位,稍后结贴。