毫秒级计时的技能考试,目前还有三个BUG没能解决:
一是 偶显运行错误 argument ?,明天核对一下,摸不着头脑;
二是 偶显“comctl32.dll”读写错误,本地计时基本所有的人都出现错误,服务器计时,几乎没有错误,很是莫名;
三是 操作过程中少量机器出现卡顿(录完内容回车提交,停顿一下,才能清除数据并开始下一次的录入),导致操作数据可能录入错误或误操作。代码执行顺序:
1、取服务器时间为开始时间 select getdate() as 时间
2、启动时间回调函数 timeid := timeSetEvent(1, 1, @MyCallBack, 0, TIME_PERIODIC)
3、时间回调函数中取服务器时间计时,倒计时显示在edit控件中
4、DBGrideh显示数据表,并随着进度移动
5、将数据写入数据表
6、完成
我初步怀疑5可能影响速度,出现卡顿,修改为:不再写入服务器数据,用TstringList暂时保存数据,5完成后,再进行数据写入。我想问,上面1-5中哪一个操作最后可能引起卡顿?本地局域网还有其他什么情况会引起卡顿?
有请高手给分析一下。
一是 偶显运行错误 argument ?,明天核对一下,摸不着头脑;
二是 偶显“comctl32.dll”读写错误,本地计时基本所有的人都出现错误,服务器计时,几乎没有错误,很是莫名;
三是 操作过程中少量机器出现卡顿(录完内容回车提交,停顿一下,才能清除数据并开始下一次的录入),导致操作数据可能录入错误或误操作。代码执行顺序:
1、取服务器时间为开始时间 select getdate() as 时间
2、启动时间回调函数 timeid := timeSetEvent(1, 1, @MyCallBack, 0, TIME_PERIODIC)
3、时间回调函数中取服务器时间计时,倒计时显示在edit控件中
4、DBGrideh显示数据表,并随着进度移动
5、将数据写入数据表
6、完成
我初步怀疑5可能影响速度,出现卡顿,修改为:不再写入服务器数据,用TstringList暂时保存数据,5完成后,再进行数据写入。我想问,上面1-5中哪一个操作最后可能引起卡顿?本地局域网还有其他什么情况会引起卡顿?
有请高手给分析一下。
解决方案 »
- 问题一两句说不清,关于文本操作的
- 有用TurboPower.Async 做过短信发送的吗
- 有关Delphi包的问题?
- 求delphi中chart控件的使用方法,实例或教程???急!!!急!!!急!!!急!!!急!!!急!!!
- 使用Db
- 用installshield打的包,如何在卸载时自动删除注册表中的键值(键值内容已修改)?
- 请问谁有rational2001的liscence key?
- 各位大虾,小第有一问题请教,我用indy系列收取邮件时,在邮件头以这样的内容(=?GB2312?Q?=C2=E6=CD=D5?=),我应该怎么写才能够读出正
- 《delphi5.x ado/MTS/COM+》这本书第9章的例子遇到的问题
- 为什么编译的时候老是提示'file not found '***.dcu''??????急救。。。。。。
- delphi 调用webservice的问题
- 一个关于FastReport的问题。
实在是找不到原因了,难道又是dbgrideh的版本BUG?
我试一下,以前有过这样的错误,更换版本后正常,不知道为什么又出现了,头疼。
我也试一下楼上的意见,换成DBGrid试一试。
在老版本windows上,可以:
timeBeginPeriod(1);
GetSystemTimeAsFileTime(...); 或者timeGetTime()
timeEndPeriod(1);
可以达到毫秒级计时精度
如果只是高精度取时间,不需要使用多媒体计时器回调
timeBeginPeriod(1);
timeGetTime()
timeEndPeriod(1);
和
timeid := timeSetEvent(1, 1, @MyCallBack, 0, TIME_PERIODIC);
随机的差几毫秒,可以接受。
目前就是一个“COMCTL32.dll”偶有BUG,不知道如何解决?
使用DBGRIDEH和DBGRIDEH均有该BUG。
这个界面没有使用excel。网上的方法都不行,尤其是换文件,678910五个版本统统不行。