dbgrideh在多线程中显示有问题(20)

  • 主题发起人 主题发起人 青云
  • 开始时间 开始时间

青云

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序里,写了几个多线程的处理,不过这几个线程跟dbgrideh一点关系都没有。可是却偏偏对 dbgrideh产生了影响。莫名奇妙的。而且这些线程即不操作dbgriedh,也不操作dbgrideh相关的dataSet; 一旦线程执行完毕,就会出现dbGridEh的标题呈现粗体,宽度乱跳等情况,也不是每次都发生,时有时无,莫名其妙的。 我想这肯定是 因为dbgrideh的canves没处理好。因为draw事件是时时刻刻发生的,一旦有了多线程,这里那儿就会有冲突。dbgrideh在设计的时候肯定没有考虑到多线程。我想可能只要在dbgrieh.pas等相关的文件里修改几个地方,即可。不知道大家有没有遇到类似的情况,和如何改写dbgrideh
 
你的线程都做了什么?刷新了canvas么?
 
http://bbs.2ccc.com/topic.asp?topicid=347803
 
没有,线程做的毫不相干,线程没有控制任何可视的vcl控件,比如某个线程只不过是通过utlhttp获取某个网页的内容,和DbGridEh丝毫没有关系。 我写过很多各种多线程,都发生过线程执行造成 dbgrieh显示出问题的现象; 所以我觉得dbgrideh即使和不相关的线程都有显示冲突; 有没有人知道ehlib的作者的联系Email,我想直接告诉他问题所在。让其改进。
 
把dbgrideh换成delphi自带的dbgrid看看是否还是同样的问题,不就知道是哪里出问题了吗?
 
用dbgrid ,cxGrid都正常,唯独dbgrideh有问题;dbgrideh并不是继承dbgrid的,所以很难找出问题所在。这个问题我关注好几年了,其它的grid都正常,唯独dbgrideh有问题;不过,dbgrideh低版本好些,在4.5版本之后,这个问题尤为严重。但是低版本也有其它问题,因为我投入了大量的精力,花5,6年的时间都在改造dbgrideh,(多线程的问题,并不是我改造dbgrideh造成的,我用官方不改造的,也是有问题)所以现在因为多线程的问题,换掉dbgrideh就太可惜了;而且自己做的软件中,也是大量使用了dbgrideh,这么说吧,dbgrideh是我在delphi程序中最重要的一个控件了。
 
http://atkins.5d6d.com/viewthread.php?tid=10985&highlight=ehlib
 
后退
顶部