程序忙时,GIF动画被暂停
各位:我用vfp9sp2+Xp做一个软件时,当读取一个比较大的SQL表时,想用一个进度条的动画(gif格式动画),来显示正在执行操作,而非死机,现有如下疑问:
1.SQLEXEC(nHandle,"SELECT * from 表名 WHERE 条件","Temp")时,能不能取得读取的进度,用来做进度条?
2.对于疑问1,以我现在的水平理解是不能,所以,我用了一个循环的gif动画来展现进度,读取完成后再隐藏这个动画。于是,新的问题又产生了:在执行1中的语句时,gif动画被暂停了,直到语句执行完毕才继续。
各位大侠有解决这个问题的方案吗?
[解决办法]
*-- vfp9.0(sp2 7329),XP(sp2)*-- 连接代码略去lcSQLstr="select * from 测试表" && 这个测试表数据量尽量大一些SQLSetprop(gnConnHandle,"Asynchronous",.T.) && 异步执行nResult=SQLExec(gnConnHandle,lcSQLstr,"temp")Do While nResult=0 && 正在抓取 If Used('temp') and !CursorGetProp("FetchIsComplete") && 抓取过程尚未完成 ?nResult,CursorGetProp("RecordsFetched") && 抓取进度 Endif nResult=SQLExec(gnConnHandle,lcSQLstr,"temp")* DoeventsEnddoSQLSetprop(gnConnHandle,"Asynchronous",.F.) && 同步执行?nResult,'完成' && 抓取结束,结果大于0Browse