1、访问CheckBox.Caption,就警告你:"TCheckBox" does not contain a member named "Caption"!(TCheckBox没有包含名为"Caption"的成员!)这样的语句竟然被黄色警告:CheckBox1.Caption :='中国'; 2、TActionMainMenuBar,如果是MDI应用程序,当MDI窗口最大化时,TActionMainMenuBar右边出现三个按钮,这时CPU的占用率为100%,FastMM4跳出半米高的窗口,提示一大堆内存泄漏问题!这个TActionMainMenuBar,从Delphi7开始就存在问题,没想到现在问题更严重了,要用它,又得耐心捉虫子!

解决方案 »

  1.   

    d2009的IDE,一次我连续按了若干次(10次左右吧)ctrl+Z后,源码呈乱码状态,IDE崩溃,后来还是从history里找的备份备份还原过来
      

  2.   

    3、控件的宽高不能超过5120,否则在设计时鼠标一点就会发生内存溢出问题!在一个ScrollBox放一个Panel,把Panel的宽高都设为5120试试!但是,在Delphi7里,控件的宽高设为65535甚至更大也没有问题!4、TWincontrol的DoubleBuffered属性,在由True切换到False时会发生剧烈闪烁!经查,发现Bug在这里:
    procedure TWinControl.CMDoubleBufferedChanged(var Message: TMessage);
    begin
      inherited;
      NotifyControls(CM_PARENTDOUBLEBUFFEREDCHANGED);
      Invalidate;   {Bug}
    end;
    因为DoubleBuffered改变,并不会改变控件外观,Invalidate是画蛇添足,造成闪烁!而且ParentDoubleBuffered这个属性更是要不得,因为需用DoubleBuffered的时候不多,可你不小心设置了某个控件的DoubleBuffered=true,却没注意到ParentDoubleBuffered默认为true,于是所有的子控件全部DoubleBuffered,造成界面更新十分缓慢!
      

  3.   

    5、若你把主窗体的WindowState设为wsMaximized,有时你运行时会发现,你的窗体不是最大化(大小和设计时一样),但窗体右上角的最大化按钮却是最大化状态,你得先点最大化按钮,使窗体还原为Normal,再点最大化按钮,才能实现真正的最大化!莫名其妙!
      

  4.   

    6、Structure浏览器里,莫名其妙的Errors提示太多,但实际不是错误,而是IDE不能识别而误判,但编译器却能识别,所以编译时什么错误没有,可见Delphi2009的IDE智能性很差,常常误判!
      

  5.   

    为了用Delphi2009,我现在修了Forms.pas、Controls.pas、ActnMenus.pas、ActnMan.pas、XPActnCtrls.pas、StdCtrls.pas这些单元的Bugs,越来越没有信心用Delphi2009了,Bug堆积如山,根本不能用来做正式产品!
      

  6.   

    7、Delphi2009的TActionMainMenuBar,保存不住UseSystemFont这个属性!若TActionMainMenuBar上是空的,可以保存住,但只要往上拖了菜单,就保存不住了,当你下次打开工程时,变成了UseSystemFont =False,你再设为
    UseSystemFont =True,下次打开还是UseSystemFont =False!
      

  7.   

    我一个delphi7的工程, 用2009可直接编译成功, 但运行就报错, 大概意思是TStatusBar.with, 无此属性
    将主窗口上的StatusBar删除后运行正常, 搞不懂怎么回事
      

  8.   


    这个问题在IDE,比如我一个checkBox1,设置CheckBox1.Caption := 'XXX',报错,说TCheckBox不包含名为Caption的属性。你的TStatusBar.width,估计也是说TStatusBar没有名为Width的属性吧?这种错误,并非经常有,可你用着用着,突然发现Structure里,一大堆这样的Errors,一查看代码,都标上了红色的波浪线!另外,在Delphi2009里,最好不要用with A, B, C... do,否则IDE也会误判,但用with A do还是可以的!
      

  9.   

    另外,在Tools -> Options ->Editor Options -> Code Insight里把Error Insight(错误洞察)关闭,因为Delphi2009的IDE,洞察错误能力很弱智,而且经常把完全对的,误判为Errors;
      

  10.   

    主要是 java 和 python,还有少量C#现在我需要夸平台,且现在大部分都用“正版”了 OrzDelphi好多年没有用过了,只是这里老朋友多,在一起YY习惯了
      

  11.   


    呵呵。我最近也是搞JAVA ,不過還是在D版呆著有意思。
      

  12.   

    8、Delphi2009运行期设置Form的Position属性,会导致FormCreate发生!这个Bug一般不要紧,但有时你在运行期可能修改了某些组件的属性,可你设置Form的Position属性,Form被Recreate了,回到了初始状态。