那个温度计与计算机是什么方式通信的RS23-COM,TCP/IP?,为什么要去读第三方生成的TXT,如果是串口通信的话VFP有COM口读写的能力可以直接收数据,用个mscomm32.ocx,即时处理数据就行了。如果是TCP/IP方式,Winsock不也可以么,为什么要什么Timer模拟异步处理?
回复 24楼 taifu945
分析讨论得够深入,同感!一般情况下,对运行效率、可靠性和计时要求不高,用定时器是比较简单和可行的方法,甚至可将定时器用作“不定时”触发器。
相信编程的都用过定时器,尤其是初接触编程的人,深入讨论的不多见。
基于时钟中断的定时器,虽然参数单位是ms,但实际上不能以1ms为触发周期。曾经见过有讨论过VFP的Timer控件将Interval=1时,Timer表现不那么稳定,但可通过一些手段来控制Interval=1的应用。
定时器一个触发周期向窗口过程发送WM_TIMER消息一次,定时器消息是一个低级别的消息,只有在消息队列中没有其他消息的情况下才会发送WM_TIMER消息,如果窗口过程忙于处理某个消息,使消息队列中有消息积累起来,那么WM_TIMER消息就会被丢弃,在消息队列再度空闲的时候,被丢弃的WM_TIMER消息不会被补发(定时器暂停)。所以,定时器事件并不那么“定时”,应用程序不能依靠定时器来保证某件事情必须在规定的时刻被处理。