郁闷数天,就delpi窗口间的数据传递问题终于解决。就此帖出,希望可以帮别人。有form1和form2两个窗口,form1上有button何edit。form2上有dbgrid连接数据库,点击form1上的button弹出form2,双击form2上dbgrid某一行,提取这行数据的第一个字段到form1的edit,并且关闭form2。代码如下:首先要uses form2的unit和公共unit。 然后要在公共unit里定义一个全局变量hthprocedure TForm1.ButtonClick(Sender: TObject);
begin
begin
   with TForm2.Create(Application) do
    begin
          try
             ShowModal;
             ed_dyht.Text:=hth;
         finally
         free;
         end;//try
   end;//with
end;end;forme2的 代码procedure TForm2.FormCreate(Sender: TObject);
begin//打开数据库让dbgrid不空,具体就不写了end; procedure TForm.DBGridDblClick(Sender: TObject);
begin
if  messagebox(handle,'确定是这个合同吗?',pchar(caption),MB_ICONQUESTION+mb_yesno)=IDYES then
    begin
      hth:=DBGrid.Fields[0].Value;//给全局变量赋值
      Close;
    end;
end;最重要的是form2的formstyle应该是fsNormal。visible应该是false然后就没有问题了,当然这很粗糙,具体的可以自己琢磨,方法也是有很多的。解决问题我很快乐。虽然我很低级,哈哈。