Delphi的BUGS之我见

 

下面是本人在Delphi实际的开发中发现的问题,希望能同大家一起交流。

 

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Finding bugs(寻找错误)是指在软件开发过程,为了保证软件的质量和稳定性,通过一系列的测试和调试过程,找出软件存在的错误和缺陷,并进行修复的活动。 寻找错误是软件开发过程必不可少的一步。在软件开发过程,无论是编写代码、设计界面还是实施功能,都可能出现各种各样的错误。这些错误可能导致软件无法正常运行、功能异常或者性能低下。为了及时发现和修复这些错误,需要进行系统而全面的错误寻找工作。 寻找错误的方法和技巧有很多种。其一种常用的方法是黑盒测试。黑盒测试是指在不了解软件内部结构和具体实现的情况下,通过输入一些指定的测试用例,观察软件的输出结果,并与预期结果进行对比,从而判断软件是否存在错误。另外一种方法是白盒测试。白盒测试是指在了解软件内部结构和具体实现的情况下,通过对代码进行逐行逐句的检查,发现其潜在的错误。 除了以上的方法,还可以使用自动化的测试工具来辅助寻找错误。这些工具能够模拟用户的操作,快速地执行大量的测试用例,并生成详细的测试报告,帮助开发人员准确定位和修复错误。 在寻找错误的过程,要保持耐心和专注。有时候错误可能隐藏得很深,需要仔细地分析和调试。同时,还要注重记录和总结错误,以便后续的修复工作。 总之,寻找错误是软件开发过程不可或缺的一环。通过系统而全面的测试和调试工作,可以及时发现和修复软件存在的错误和缺陷,提高软件的质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值