注册 登录
编程论坛 VFP论坛

VFP不支持线程编程,如果放多个时间控件有一个卡着,其他也跟着不动,如何解决

laibinhua 发布于 2021-12-03 11:19, 1730 次点击
请教大佬:VFP因为不支持线程编程,如果放多个时间控件有一个卡着,其他也跟着不动,如何解决呢?现在碰到的问题,放了3个时间控件,一个用来显示当前时间(精确到秒),另外2个连数据库刷新界面上的数据,连云端数据库时,常会连不上,造成SQL一直在访问卡住了,这时时间控件就不会有时间上的变化!
6 回复
#2
laowan0012021-12-03 11:46
只用一个timer,按条件执行不同的任务。
#3
kosung2021-12-03 12:00
VFP也可实现多线程编程,不过,要钱的
#4
吹水佬2021-12-03 12:01
VFP使用多线程有点麻烦
简单的事务用多进程就很好
#5
pjtyzyq2021-12-03 12:54
遇到过这种情况,我才用的方法是:除了显示时间的定时器,某定时器触发后先暂停其他定时器,执行完该定时器程序前恢复暂停的所有定时器。这个方法仅适合每个定时器内程序执行时间很短及定时精度不高的情况。
#6
laibinhua2021-12-03 13:26
刚才想了下,正好吹水大佬的提示,我做了这种处理,同一个目录里单独再做一个连接云端数据库的exe程序,把云端数据库的数据定时采集到本地的DBF数据里,而我要展现数据的有多个定时器的程序就分别定时从本地DBF中取数据,这样永远不会出现数据的卡顿了,曲线解决了问题!两个exe运行,一个采集云库数据,一个展示本地数据
#7
吹水佬2021-12-03 14:53
回复 6楼 laibinhua
直线好,曲线也好,能解决问题就是好。
多进程是系统级的多线程,看看现在主流的浏览器大都是用多进程来处理事务。
加上进程间通信(如:消息、共享内存)可做到即时响应触发事件来处理数据。
1