希望我不要下定决心放弃borland与delphi
用了delphi好几年了,感觉很好,borland的传道者李维先生更是对delphi情有独钟,甚至在<inside VCL>中直呼"VCL 万岁",看了那本书,也被李先生的感情所激励,和delphi有好几年的感情了,纵使在当前java和.net大行真道的今天,也希望delphi能重新振作起来,虽有了delphi8的失败,但是我还是在希望delphi9能够成功,能成为.net上成功的开发语言.但是近来我发现的一个问题,使我感觉跟着borland走是很危险的事情.
我用的是delphi7企业版,正版,现在还在win32下作开发,当然用delphi7了,当我的开发接近尾声的时候,发现vcl中的clientDataSet的效率很低,完全不符合我的要求,好在delphi的vcl源码是公开的,于是我就对vcl进行的改写,但维持函数的借口不变,改写vcl后重新编译,提示我不同版本不能编译,这个问题大家都见过,我就不细说了,我对所有vcl源码进行了编译,这下好了,可以了,效率也提高了,可是在我的项目里使用了第三方的控件,由于我没有第三方控件的源码,无法编译,而又因为第三方的控件和我编译以后的vcl不时同一个版本无法编译,我就这个问题给borland中国发去了email.
三天过去了仍没有borland中国的回音,在此期间我多次给borland打电话,均没人接听,好在终于有人接听了,当我问及关于clientdataset的效率时,他竟然说他们的vcl没有经过压力测试,没有关于clientdataset效率的测试报告,他还告诉我他们公开了Vcl源码就是当效率或当客户有特殊要求时,客户可以自己编译vcl,当我问及我编译后为什么不能和我使用的第三方控件一起编译时,他告诉我,重新编译以后就和delphi7不是同一版本了,他们的delphi各个版本间是不能通用的。他甚至说让我不依靠vcl,去使用第三方的控件,深入使用过delphi的人都知道,第三方控件也在使用Vcl,如果这么说的话,那是不是所有的东西都有问题呀。
当我问及他们的售后服务和技术支持时,他就把我推到了bdn(Borland Developer Network,可能是在效仿MSDN吧),他说他们的售后服务和技术支持仅仅是帮助客户解决安装问题,这是一个开发工具,不是游戏,不时操作系统,也不是office,开发工具所面对的当然是开发人员,开发人员势必对计算机和操作系统有相当的了解,还用的着borland给安装吗?如果一个开发人员连软件都不会安装,那样的开发人员还能开发什么呢?如果delphi很难安装的话,必须要borland的人员协助才能安装,那不是开发人员的问题,那是delphi的问题,是borland的问题。
用delphi---〉用VCL---〉VCl不合格---〉更改VCL---〉不能更改---〉不能用VCL,不呢功能用VCL我用delphi干什么!
你可以试一下,当字段比较多时,比如60个以上,其实我是按照3个字段进行测试的,你可以测试一下fieldbyname(?)和field[?]的效率,当然会有差别,而且的vcl内部有很多地方在使用dataSet中的Fieldbyname和TFields的FindField,在这种关键的地方会有这样差的效率不应该。如果你想知道他的算法,你看一下vcl的源码就知道了,在db单元。当记录的数量比较多时(还不是很多),clientDataSet的访问效率直线下降,不信你试一试五百条以上!
不能怪borland,因为他们没有测试,他们也不知道自己的东西效率是很差的。在使用很多的关键地方竟然使用顺序查找!真的想不到!