BPL主窗口button1点击后弹出一个窗口,如何将双击这个窗口内的dbgrid返回的数据自动加载到BPL主窗口的edit1.text上

解决方案 »

  1.   

    在弹出窗口中写个函数,返回双击这个窗口内的dbgrid返回的数据,在主窗体中调用,把返回值写在edit1.text上
      

  2.   

    设置一个全局变量
    当双击dbGrid的时候 把得到的值赋给全局变量 edit1.text := 全局变量
      

  3.   

    BPL模块不同于Windows DLL模块,它们是在同一个地址空间上,彼此之间可以直接调用对方的公共函数,不需要用全局变量。实现方法之一:
    1、BPL主窗口和弹出窗口,都use同一个TDataModule,其中弹出窗口的DBgrid与该TDataModule中的一个TDataSource相关联,TDataSource与一个数据集关联(如TClientDataSet)。2、在BPL主窗口类中增加一个public procedure getCurrentRecord();该过程读取TDataModule中TClientDataSet的当前记录,并把返回值写在edit1.text中。3、在主窗口的interface部分Uses弹出窗口模块。4、在弹出窗口的implementation部分Uses主窗口模块。5、在DBgrid的DblClick事件处理过程中调用BPL主窗口.getCurrentRecord()过程。4、OK了。