如有两个窗体A、B分别位于UnitA、UnitB单元,
现A上的某个操作(如双击表格行),弹出窗体B,用户在B中进行一系列的操作(如单击上一条、下一条按钮浏览数据库),在此操作中A表格上的行指针需要移动显示,请问如何设计程序的框架,以至于不会发生相互引用的情况。

解决方案 »

  1.   

    这个问题好说,把第二个窗体中(要弹出的窗体)用到第一个窗体中的内容设成公共变量(在public下声明) ,在第二个窗体要打开前把变量给赋值
      

  2.   

    Form2 := TForm2.Create(nil);
      try
        Form2.SQLStr := Edit1.text;//(此处Edit1为form1),把sqlstr生命在为form2中public下
        if Form2.ShowModal = MrOk then
        begin
          //做一些操作
        end;
      finally
        Form2.Free;
        Form2:=nil; 
      end;
      

  3.   

    把数据dataset,(如query,table等)放在一个datamodule中,把A中的dbgrid的datasource设为datamodule中的相应的datasource就搞定了,B中类似