在FORM1中双击dbgrid,,取得字段0的数据再传给FORM2的编辑框1,,,不成功..
在RORM1设轩
 public
   E:String;
    { Public declarations }
  end;代码
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
 E:=DBGrid1.Fields[0].asstring;
 Form2.show;
end;FORM2的代码
procedure TForm2.FormCreate(Sender: TObject);
begin
 Edit1.Text:=Form1.Edit1.Text;
end;
数据传递不成功...不知为什么?

解决方案 »

  1.   

    把Form2的构造函数改一下,把你的值传过去,procedure TForm1.DBGrid1DblClick(Sender: TObject); 
    var
      str :string ;
      Form2 : TFrom2;
    begin 
    str :=DBGrid1.Fields[0].asstring; 
    Form2 := TFrom2.Create(self,str);
    Form2.showModal;
    Form2.free; 
    end;
      

  2.   

    [错误] Unit1.pas(58): Too many actual parameters
    [致命错误] Project1.dpr(6): Could not compile used unit 'Unit1.pas'
    出错
      

  3.   

    改了一下,把
    str  设置成了public代码
    procedure TForm1.DBGrid1DblClick(Sender: TObject);
    var  Form2 : TForm2;
    begin
    str :=DBGrid1.Fields[0].asstring;
    Form2 := TForm2.Create(self);
    Form2.showModal;
    Form2.free;
    end;
    数据传递成功...