ShowModal方式弹出来的子窗体,有dbgrid数据窗口,双击一下数据,该数据就能加入到父窗体的对应dbgrid里面,就是如何引用的问题,函数或方法是什么,谢谢了。

解决方案 »

  1.   

    在公共单元里定义TGetBack = procedure(str : String) of object; 
    在父窗体中定义一个 procedure GetBack(str : String);procedure GetBack(str : String);
    begin
    ...对子窗体中返回的str进行操作,参数类型可以自己定义
    end;子窗体中定义一个GetBack: TGetBack ;
    子窗体创建时 getBack 赋值成父窗体的GetBack
    在操作后 GetBack(参数);
      

  2.   

    父窗体发布一个public的方法,或者将父窗体实例传递给弹出窗体,那么弹出窗体中就可以通过这个实例,操纵父窗体任何东西了,就向访问 form1.xxx一样
      

  3.   

    反对A引用B,B再引用A或者 A引用B,B引用C,C又引用A的设计方法,楼主的情况,事实上可以把关联主窗体上dbgrid的数据集放到公用的Datemodal上,弹出子窗体后,直接操作那个数据集。或者把操作主窗体数据集得方法(如添加删除等)放到公用单元里,由主窗体或者子窗体直接操作公用单元修改数据。
      

  4.   

    相互引用,单击事件在子窗体发生后,调用父窗体dbgrid对应的数据集,append后,根据要求写入对应的数据值。再post...
      

  5.   

    大家的方法基本一致,谢谢了,可能delphi就是这样解决的,