呵呵,我有个办法,但是没有试验过。
做一个记录体,用来保存edit1,edit2的字符变量的指针,然后在用
ModalResult返回那个纪录体的指针,如果ModalResult=0则表示Form2上点击了取消,不为0就不是取消,然后在根据ModalResult的值变成指针,最后在打开那个记录体,最后就可以访问edit1和edit2的text了,不过这里别忘了要重新为这两个edit的text分配一块pchar的内存用来保存text,和分配内存来保存结构体。然后再form1中得到了记录体之后在销毁已分配的内存

解决方案 »

  1.   

    第一种方法:在TForm2中直接写TForm1单元中的全局变量;
    Uses
      form1;  
    ...
      s1:=Edit1.text;
      s2=Edit2.text;
    ...更好的方法;
    将s1,s2声明为TForm1的数据成员,添加两个属性完成读写,
    在TForm2中调用
      

  2.   

    别忘了要新建一个form2然后在form1中用showform2.
      

  3.   

    这个问题也问?
    form2:=Tform2.create(application);
    if form2.showmodal=mrOK then
    begin
      s1:=Form2.Edit1.Text;
      s2:=Form2.Edit2.Text;
      ShowMessage('Shit!');
    end;
      

  4.   

    form2:=Tform2.create(application);
    try 
      if form2.showmodal = mrok then
      begin
        s1 := edit1.Text;
        s2 := edit2.Text;
      end; 
    finally
      form2.Free;
    end;
    这样写你的form2得定义返回值