注册 登录
编程论坛 VFP论坛

高手快来看看

a1999zqw 发布于 2010-06-23 16:43, 815 次点击
_Screen.Visible=.F.
use ab
ic=a
u=0
for i=ic to 99999999999999999999999
u=u+i^(1/3)
u=u^(1/2)
repl a with i,b with u
endf
return

以上程序只是随便写的

_Screen.Visible=.F.命令能让prg文件不显示窗口而在后台运行,但我用windows任务管理器结束vfp进程后发现ab.dbf没有被实时替换,好像有滞后现象,我想如果关机的话应该也会出现同样问题。我想知道可以在程序运行时暂停程序吗?最重要的是:在程序运行时关机怎么可以避免数据更新滞后现象?
5 回复
#2
hu9jj2010-06-23 20:23
这是VFP系统的缓存机制在起作用。为了加快程序运行速度,系统并不是直接对磁盘中的DBF文件进行操作,通常是将表中一定的数据读入到内存,适当的时候才将数据写回磁盘的表文件中。如果你中途中断了程序运行,VFP尚未将数据写回到表文件中,当然就不会有最新的内容了。要避免这种情况,可以在合适的地方使用flush命令,“通知”系统将数据写入磁盘文件中,由于需要对磁盘文件进行写操作,程序的运行速度也会受到影响。
#3
czddzft2010-06-24 13:39
没注意过这种情况呢
#4
a1999zqw2010-06-24 14:36
版主,flush命令和SET AUTOSAVE ON 用法有什么不同?

#5
中国龙王2010-06-24 14:39
晕。我还以为你在研究卫星呢,搞出24位来了
#6
chychychy前天 16:19
tid=311051
回复页面自带出现这个是什么意思?
1