MyForm:= TPieceForm.Create(self);
  try
    MyForm.mypara:='0001';//传入参数
    MyForm.ShowModal;我想在MyForm操作后返回一个字符串应该怎么弄啊? 
  finally
    MyForm.Free;
  end;

解决方案 »

  1.   

    MyForm:= TPieceForm.Create(self);
      try
        MyForm.mypara:='0001';//传入参数
        MyForm.ShowModal;我想在MyForm操作后返回一个字符串应该怎么弄啊? 
        showmessage(MyForm.ReString);
        //这个字符串ReString需要定义在TPieceForm的public里面!
      finally
        MyForm.Free;
      end;
      

  2.   

    在Free之前没问题的,不过最好用property  set wirte 方法来搞
      

  3.   

    假设两个Form1和Form2,互相引用。Unit1的implementation 下写uses Unit2;Unit2的implementation 下写uses Unit1;
    Form1的Public加一个接收的s:string;Form2的Public也有一个mypara:string;
    在Form2的OnClose事件写:Form1.s:=mypara;
    在Form2里面可以改变mypara的值,如mypara:=mypara+'123'这样,退出就会mypara就会传到Form1.s那里了。Form1里的窗体创建代码:var MyForm:TForm2;
    begin
      MyForm:= TForm2.Create(self);
      try
        MyForm.mypara:='0001';
        MyForm.ShowModal;
        ShowMessage(s);
      finally
        MyForm.Free;
      end;
    end;