在一个程序中,我调用了一个函数,但是有的时候,我想在他运行的时候终止该函数的执行,该怎么做呢?
哪位指导一下,谢谢了
哪位指导一下,谢谢了
解决方案 »
- -2147217913 vb中日期越界的问题
- 如何让鼠标停浮在command1的时候,command1的背景设置为红色?
- 我在DLL中使用了注销DLL的API,可是好处不起做用啊?
- .tbl文件是什么文件,有什么功能
- 下重分,optionbutton绑定Adodc1的问题!
- 请问有没有反编译.hlp文件的工具
- 请问怎么可以获取下面网页中iframe中网页的input元素?
- sos:用installshield怎样把安装控件放入不同的目标目录中?
- 那种grid可以编辑grid里面的内容
- 用第三方的打包軟件會出現意想不到的錯誤。想知道是什麼錯誤嗎?請點擊這...
- 键盘HOOK的问题(求求你们帮帮我)
- 转换其他语言的数据类型
Global BreakCall As BooleanFunction MyCall1() ...... While BreakCall '函数语句
.......
....... DoEvents WendEnd Function通过在其它的代码部分改变 BreakCall 的值,可以控制函数运行或结束BreakCall = True '允许函数语句部分无限次数执行
BreakCall = False '函数语句部分本次执行完后便退出函数一个突出的问题是,在 While...Wend 执行期间,一般CPU占用率会占到100%。
to boiciy
你说doevents不是那么好玩的,这句话如何理解?
他会导致不确定的结果?
在vb程序执行时,怎么设置一个按钮,使程序运行先暂停,然后在单击该按钮后,又能够继续执行呢?
设置一个公用变量,比如 userPause。在你的循环开始前,置 false 值;在按下这个按钮时,将它的值反覆(如果是 false,变成 true;反之也一样)
在循环中检查键盘或鼠标动作(用API函数GetInputState()),如果GetInputState()=true,执行 doevents 语句。这时按钮的 click 事件将会执行,userPause 变量的值也会改变;然后在 doevents 语句后面判断 userPause ,如果是 true,就不停送出 doevtnts 语句,反之表示用户又按了一次按钮,继续循环。以上是思路,程序大概的结构如下:private Declare Function GetInputState Lib "user32" () As Long
Private userPause As Boolean
...private sub command1_click()
userPause=not userPause
end subprivate sub 你的循环代码()
userPause=false'你的代码
....do while ... '循环
if GetInputState() then '按下键盘/鼠标
doeventsdo while userPause '按下的是目标按钮,并且将 userPause 变成了 true
doevents '不停的送出doevents,直到用户再次按下按钮将 userPause=false
loop
end if....
loop...
end sub
但是效率低下
我试过采集程序使用doevent
速度降低一半