为什么onIdel事件一定要有用户动作才触发(100分)

  • 主题发起人 主题发起人 locky_z
  • 开始时间 开始时间
L

locky_z

Unregistered / Unconfirmed
GUEST, unregistred user!
Application的onIdel事件是监控某端口状态,然后显示出状态,
但端口状态改变了,显示都没变,直到用户移动一下鼠标或其他操作才刷新显示的状态。
是不是onIdel事件还没触发,还是要在IDEL事件中强制刷新屏幕的状态。
我不想用定时器
 
你可以在Idle中不停的监测和显示状态,
等待用 Sleep

OnIdle事件是在程序处理完消息队列中的所有消息时触发的,
到里面的代码执行完成后退出,或者有新的消息到达时,OnIdle被挂起,
所以里面的代码是在用户动作之后被启动,只执行一遍(如果要多遍,可以写一个循环)
到下一次空闲时,才会再次进入此过程,

所以,你进入后,不必退出,可以设置事件参数来控制
当前的过程是否可以被打断,在访问GUI时,最好设置为不要被打断,
防止访问冲突
 
还是用timer吧,这样自己都觉得放心些,因为idle的优先级太低了,不知道什么时候
才轮到他:)
 
thanks,就听你们的话,改用定时器吧
 

Similar threads

D
回复
0
查看
744
DelphiTeacher的专栏
D
D
回复
0
查看
718
DelphiTeacher的专栏
D
D
回复
0
查看
672
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部