窗体B继承了窗体A,对窗体A上的DBGridEh进行了修改,但没有反映到窗体B上。
现要将窗体B上的DBGridEh删除,然后将窗体A上的DBGridEh复制到窗体B上,却发现窗体B上的DBGridEh不能被删除。
请问,该如何使得窗体B上的DBGridEh与窗体A上的一致。难道必须手动逐一修改每列的属性吗?

解决方案 »

  1.   

    修改DFM文件把DBGridEh段里存放的属性都删除光,然后重新打开窗体试试
      

  2.   

    回复budded
    你说的非常正确。
    打开DFM文件,把DBGridEh段里存放的属性都删除光,然后重新打开窗体,就好了。
    但有个问题请教一下,原来的DFM文件中有DBGridEh段,删除后,重新打开窗体,并重新编译、保存,然后再打开DFM文件,怎么就没有DBGridEh段了呢?
    DFM文件中原来的DBGridEh段是如何生成的呢?
      

  3.   

    不会出现这种现象吧,你是怎么创建窗体B的? 应该是 File->New->Other 打开New Itmes对话框,然后选择当前项目分布下面的窗体A,这样新建的窗体就继承了窗体A。
      

  4.   

    回复HsWong 
    谢谢你的留言,我一般也是这么继承窗体的。
    我现在修改的是别人的程序,从代码TfrmA = class(TfrmB)来看,窗体B继承了窗体A,但打开DFM文件后,里面却有DBGridEh属性段。
    可能是有人对继承后的DBGridEh做过修改吧,可能是这个原因使得DFM文件中产生了DBGridEh属性段。
      

  5.   

    1. 打开窗体A的dfm,用文本形式浏览(View As Text)
    1. 确定开头是inherited frmA: TFrmA,而不是object
    2. 手工删除其中DBGridEh属性段
    3. 保存并重新打开