希望达到以下效果
FORM1中  USER按下BUTTON1后
弹出FORM2,其中有一个EDIT1与BUTTON2
当在EDIT中输入内容后按FORM2返回FORM1
要求FORM1中的LABEL1能变成EDIT1的TEXT直。由于UNIT不允许循环调用,而且我要的是瞬时(即ON FORM2 CLOSE时实现这个过程,请问该如何做?

解决方案 »

  1.   

    增加一个global.pas文件,俩个FORM都USES GLOBAL就可以了
      

  2.   

    form1.button1.click
    show form2;form2.button1.click
    form1.lable1.caption:=form2.edit1.text
    不就是这样的吗?
      

  3.   

    对 但在form1中要uses form2 在form2中要uses form1
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin  Form2.showModal;
      
      lable1.caption:=form2.edit1.text;end;
      

  5.   

    SHOWMODAL和SHOW的区别在哪?
    SHOWMODEL是指等FORM2 CLOSE以后再完成这个过程吗?另:  2个单元互相调用 在我的版本(DELPHI 5。0)会出错
    说是不允许循环调用还有 什么叫都用GLOBAL文件?能解释一下吗?
      

  6.   

    我自己试出来是要这样
    if form2.showmodal = mrOK then
    ......然后在FORM2的ONFORMCLOSE里写
    modalresult := mrok
      

  7.   

    互相调用两个单元(循环调用)没有什么问题的.只不过:
    在Form1来说,调用Form2时(假定单元文件为Unit1,Unit2),是在unit1开头的interface 的uses中写"uses unit1";而在unit2中则是在implementation部分中写"uses unit1"就行了.
      

  8.   


    在Form1来说,调用Form2时(假定单元文件为Unit1,Unit2),是在unit1开头的interface 的uses中写"uses unit1";而在unit2中则是在implementation部分中写"uses unit1"就行了.
      

  9.   

    form1.buttonclick中你可以用
    application(tform2,form2);
    form2.show(或form2.showmodal)
    而在form2.close事件中寫
    action:=cafree;
    form1.label1.caption:=edit1.text;
    再此之前兩個窗體必須都設為可調用窗體.就如樓上所說的.