没有登录
中国开发网: 论坛: 程序员情感CBD: 贴子 677675
haitao
现在遇到一个d7的bug!
——原来人家02年就发现了的。。。。。。。下面的4!

D7的bug真多,我找出的一些bug及解决方法。楼主srw(srw)2002-11-04 10:25:16 在 Delphi / VCL组件开发及应用 提问
1. Tabsheet的背景色问题。相信大家都用过TPageControl,Tabsheet
  就是同pagecontrol一起使用的,在new page之后,tabsheet就建立
  在pagecontrol上了。但在D7中,在包含了windowsxp.res之后(以下都是这样),
pagecontrol 上的所有的tabsheet的背景色都是白色的,无法改变。
  放在tabsheet上的控件也一样是白色的,不能改变颜色。

临时解决方法:备份comctrls.pas,然后修改原码的第4729行
ControlStyle := ControlStyle + [csAcceptsControls, csNoDesignVisible,
csParentBackground];
修改为 ControlStyle := ControlStyle + [csAcceptsControls, csNoDesignVisible];

2. 对于放在tabsheet上的panel,即使是tabsheet经过了上述修改,但panel的背景色
  仍然是白色的,修改panel的color属性也无效。后来经过反复摸索,发现把
  panel的parentbackground属性该为true,然后再改为false就可以了。真是
  奇怪的panel。
解决办法:由于我没有认真研究panel的原码,所以无法给出具体的解决办法。
  上述方法已经可以凑合用了。

3. 同样是上面的tabsheet,放上panel后,按照2的方法可以设置背景色,但对于
  checkbox就不可以了,始终是白色。

  临时解决方法:把checkbox放在经过2处理后的panel上。

4. Treeview节点拖放的问题。在设置了treeview每一个节点的stateindex之后,
  在每个节点前都会显示一个图标,但是在经过拖放之后(就是调用了item的moveto方法),
  你会发现,节点前面的图标不见了,但stateindex仍然正确!!

临时解决办法:修改comctrls.pas的7020行,
   if not Deleting and (Value <> StateIndex) then修改为
   if not Deleting then
  当然这样做有没有别的问题,我还没有仔细考虑,这只是我为了将我的
D5工程移植到D7上时发现的问题而采取的临时措施。

5. D7的编译速度太慢了。编译速度和编译质量是Delphi的立身之本。可是D7中的编译
  速度真的不敢让人恭维。我的一个比较小的程序,使用build all,大约要4到5分钟。
  开始我还以为Delphi死掉了呢,经过了好几次,我才发现是编译速度慢的原因。

解决办法:没有。
  
以上只是我在移植D5工程到D7时遇到的一些问题中的几个,其他不再赘述。

大家看看,我们喜欢的Delphi已经变成这样子了。真希望各位富翁们能够打入
Borland内部负责Delphi产品,还我们一个原来的Delphi.

如果大家感兴趣,可以跟我讨论。我的网站:http://www.tommstudio.com
我的blog:http://szhaitao.blog.hexun.com & http://www.hoolee.com/user/haitao
--以上均为泛泛之谈--
不尽牛人滚滚来,无边硬伤纷纷现 人在江湖(出来的),哪能不挨刀(总归是要的)
网络对话,歧义纷生;你以为明白了对方的话,其实呢?

您所在的IP暂时不能使用低版本的QQ,请到:http://im.qq.com/下载安装最新版的QQ,感谢您对QQ的支持和使用

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录