关于vb6的多个timer控件问题
多个timer在计时时,是如何实现的,具体一点,比如说timer1时间到了,在运行代码,这是其他timer计时会不会中断?还是说timer1里要有doevents才不会中...
多个timer在计时时,是如何实现的,具体一点,比如说timer1时间到了,在运行代码,这是其他timer计时会不会中断?还是说timer1里要有doevents才不会中断其他timer计时?(忽略误差)
如果没有中断,是如何做到的?vb6是单线程,如果这时候timer2计时也好了,但是timer1代码没有运行完毕,系统又会怎样处理?
你们可以用其他语言作比较,我学过pascal和c++,汇编略懂,谢谢了 展开
如果没有中断,是如何做到的?vb6是单线程,如果这时候timer2计时也好了,但是timer1代码没有运行完毕,系统又会怎样处理?
你们可以用其他语言作比较,我学过pascal和c++,汇编略懂,谢谢了 展开
3个回答
展开全部
多个Timer之间是不会互相影响的。说VB6是单线程,是指程序员编的代码不能实现多线程效果,但不影响VB的控件使用多线程
更多追问追答
追问
意思是说,如果timer1代码还在运行,timer2计时完毕,就会等待timer1运行完代码在运行自己的代码,是这个意思么?
追答
不是的,我说了,互相之间是完全无影响的,不存在谁等待谁的问题,timer1和timer2就像路人甲、路人乙!除非你想让它们有关系:比如在timer1中停止timer2。
另外,在Timer运行期间,你可以执行其他操作的,比如点击按钮、在文本框输入文字等等。
展开全部
VB里面说的是对象,每个控件对象之间一般来说是没有关系的,除非控件的事件当中引用了另外的控件。所以,无论有多少个Timer,他们都是各自计时。如果说不同的Timer里写的程序都与某个全局变量有关,那看哪个Timer执行的快,这个变量就会先等于其执行后的结果。打个比方,timer1 1秒,timer 2秒,timer1执行第二次的时候,timer2开始执行第一次,timer1执行代码到写特定变量的时候,timer2还没执行到这一步,那这个特定变量结果先是Timer1写的值,然后瞬间变成timer2写的值了,就这样。timer的启动是由其属性Enable决定的,你可以弄两个Timer随便试试不就知道了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
timer控件是多线程的
追问
真是震惊!不过请问有依据么,因为也有人说是单线程的
追答
你弄两个timer定个时间,分别让两个文本的内容不断变化,一个先开始,一个后开始,看看后面那个变不变不就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询