Delphi的BUGS之我见

原创 2002年12月13日 09:07:00

 

下面是本人在Delphi实际的开发中发现的问题,希望能同大家一起交流。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

1、TDateTimePicker的错误

TDateTimePicker控件在读写日期时有很多错误,主要是日期不能及时刷新。

随便举一个例子:

新建一个Form,然后添加一个TDateTimePicker控件,随便放一个浮动型按钮例如TSpeedButton或者TToolButton等,相信这种方式用的会很多!

在浮动按钮的Click事件中加入很简单的代码:

ShowMessage(FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date));

此时你通过直接修改TDateTimePicker的时间值来修改日期,然后激活浮动按钮的Click事件,你会发现在TDateTimePicker中反映出来的日期并不是TDateTimePicker真实的日期!多试几次你会发现问题更严重!

相信Borland公司的人应该测出了此错误,但是没有修复!

现在似乎明白为什么没有日期型的DB控件!

 

2、TDBGrid的错误

如果你是通过TDBGrid直接读写数据,你会发现问题很致命!

随便举一个例子:

新建一个Form,然后添加一个TDBGrid,添加相应的数据关联然后激活数据源,随便放一个浮动型按钮,相信这种方式用的也比较多!

在浮动按钮的Click事件中加入很简单的代码:

ShowMessage(ADOQuery1.Fields.Fields[0].AsString);

然后运行!

运行时首先选中TDBGrid中的一条数据(已经默认选中一条),然后滚动鼠标的滚轮翻滚数据,就象大家平时上网是滚动浏览网页或者在Excel数据区滚动浏览一样,然后在TDBGrid中单击鼠标,你会发现此时在TDBGrid中实际控制了两条数据,继续则可能出现多条!

继续下去!

如果你不停的下翻直至TDBGrid中的光标在鼠标的游标之下然后点击,然后激活浮动按钮的Click事件,你会发现在TDBGrid中激活的数据与数据源中实际的当前数据根本就不一致!

在实际应用中相信会碰到这种情况:我明明选择是这条数据,但进行后继操作的为什么不是这条数据?

 

3、TQuickRep的错误

TQuickRep历来以使用简单,功能灵活(当然是通过添加代码来实现)而著名,当然她的缺陷之多也同样有名,这当然也不是完全Delphi的问题。

随便举一个例子:

系统主窗口是的FormStyle为fsMDIForm类型,系统中的各个窗体采用模式窗体(ShowModal),这是一个很普通的应用。

在实际中系统主窗口往往是最大化(WindowState = wsMaximized)的,如果在模式窗体中预览报表:

QuickRep1.Preview;

如果你把报表预览窗口最小化,你会发现你根本就不能关闭任何窗口!除非通过Alt+Ctrl+Delete强行关闭!

所幸QuSoft公司已经发现了这个问题,在专业版(目前是3.6.2版)解决方案居然是在预览窗口默认是普通窗口而不是标准版中的将窗体最大化!

 

4、IDE开发工具的问题

相信大家至少99%以上是直接通过Delphi提供的IDE工具进行开发,在实际应用中为了减少EXE文件的大小(主要是因为调用比较大的第三方控件引起的)往往会通过取消部分VCL连接库(例如非Delphi自身的*.BPL)来完成,现在发现在Delphi中几乎不可能要么全部添加,要么都不添加!

不管你在[Build with runtime packages]中如何设置都不管用,似乎IDE工具只辨认那个Check或者CFG文件中的那个[-LU]参数而不管其它!

说明:对此目前依然没有确认是IDE工具的问题或者其它问题,只是一般认为是IDE工具的问题。

 

 

 

Hank

starfarm@263.net

2002.12.12

Delphi的BUGS之我见

下面是本人在Delphi实际的开发中发现的问题,希望能同大家一起交流。1、TDateTimePicker的错误TDateTimePicker控件在读写日期时有很多错误,主要是日期不能及时刷新。随便举一...
  • java169
  • java169
  • 2008年05月20日 04:16
  • 186

“如何写好科技论文之我见”结束语-如何写好科技论文之我见(十)

“如何写好科技论文之我见”结束语-如何写好科技论文之我见(十)闵应骅     终于在国庆60周年前夕完成了“如何写好科技论文之我见”系列博文。根据自己平时跟学生常讲的一些话,随手写来,难免有欠妥之处,...
  • chl033
  • chl033
  • 2009年10月27日 11:48
  • 1416

KMP算法之我见:从运动角度理解next数组

人说MKP算法是最适合算法入门的了,可是它的next数组理解起来似乎不是那么容易,说真的它有点像C语言,入门有点难,但是只要理解了其中的精髓,你会发现并不禁惊叹“哦,真是太美妙了” 说明:本文,n...
  • abc_12366
  • abc_12366
  • 2018年02月01日 23:58
  • 97

FEC之我见一

顾名思义,FEC前向纠错,根据收到的包进行计算获取丢掉的包,而和大神沟通的结果就是 纠错神髓:收到的媒体包+冗余包 >= 原始媒体包数据    直到满足 收到的媒体包+ 冗余包 >= 原始媒体包数据...
  • zjqlovell
  • zjqlovell
  • 2016年03月25日 12:08
  • 773

CEOI 2002 Bugs公司 - 状态压缩DP

黑书P138 例题10 #include #include #include int n,m; int maps[155][15]; int f[2][60006]; int ...
  • wangs915
  • wangs915
  • 2013年04月02日 21:16
  • 674

云计算关键技术之我见

分布式系统的一致性。 分布式系统的可用性。 分布式系统的可伸缩性。 所供计算资源的虚拟化、最优化。 租户计算资源的隔离。 租户计算资源的自动和主动运维支持。 租户计算服务的共享和整合。 ...
  • creativor
  • creativor
  • 2013年10月21日 16:26
  • 437

POJ_2096_CollectingBugs

Collecting Bugs Time Limit: 10000MS   Memory Limit: 64000K Total Submissions: 3427 ...
  • baidu_29410909
  • baidu_29410909
  • 2015年08月04日 23:16
  • 388

1038 Bugs Integrated, Inc.//状态压缩DP

Bugs Integrated, Inc.Time Limit: 15000MS Memory Limit: 30000KTotal Submissions: 5762 Accepted: 2069C...
  • hqd_acm
  • hqd_acm
  • 2011年02月28日 16:27
  • 1013

Eclipse中Find Bugs插件的学习

findBugs学习小结 今天代码质量再次强调java代码提交SVN前要经过findBugs检查,虽然根据菜单我也基本会有findBugs插件,但为了更全面的学习、更高效的利用,我搜索学习了...
  • chenlia
  • chenlia
  • 2014年07月30日 11:27
  • 5759

Myeclipse Find Bugs 插件安装使用说明

1.       首先关闭Myeclipse 2.       下载Find Bugs 下载地址如下: http://downloads.sourceforge.net/project/f...
  • clypm
  • clypm
  • 2014年11月05日 22:44
  • 1015
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Delphi的BUGS之我见
举报原因:
原因补充:

(最多只允许输入30个字)