关于ClientDataSet的性能与重新编译vcl

newsunet 2005-07-14 12:26:31

我在使用clientDataSet 的过程中发现它的效率非常低,我发现clientDataSet的效率低的原因一是因为clientDataSet的内存表操作性能不高,特别是当数据很大的时候,效率下降的很快.二是由于clientDataSet使用了dataSet中的Fieldbyname,FieldByName在大多数情况下调用的是TFields的FindField方法,而在这个方面中使用的是线性查找,逐个比对,如果字段很多的情况下,这是很耗资源的作法.

我对fieldbyname方法进行了改进,但是在我编译的时候,却有单元引用了db单元,由于不同的版本,而不能编译,我试着对所有的VCL进行了编译,已经通过了,经测试性能基本达到了我的要求,但是由于我使用了第三方的控件,而此控件我没有源码,故不能编译.

如何编解决问题呢,使我改写了VCL的源代码而又无需大范围改动.
...全文
54 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lovend 2005-07-14
帮你顶
  • 打赏
  • 举报
回复
darkliu 2005-07-14
1.不用第三方控件

2.反编译第三方控件试试
  • 打赏
  • 举报
回复
相关推荐
发帖
Delphi
加入

5067

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2005-07-14 12:26
社区公告
暂无公告