在主窗体中有一个"显示"按钮、一个"EDIT","显示"按钮点击后显示一个新窗体,模式为showmodal,新窗体中有一个"赋值"按钮,我的意思就是按了"赋值"按钮后,如何把主窗口是的"EDIT"的TEXT修改为"谢谢,高手!!!!"。多谢!
最好"把两个窗体之间是如何通讯的"说得清楚一点,分不够另加!!
再多谢!!!!

解决方案 »

  1.   

    利用用户自定义消息。
    首先,主窗体有一个接受消息的过程;MainForm 的 Private
      GetMessage(var msg:TMessage);Message User_defineMessae;
    然后,编写处理代码;
    ModalForm的按钮事件发送字定义消息
      Sendmessage(MainForm句丙,User_defineMessae,0,0)
    大体思路如此。但Modal窗体没有试过。
      

  2.   

    1。如上:发消息
    2。在公共unit单元定义变量
    3。from1.edit1.text:='sssd';//直接赋值
      

  3.   

    普通办法:
    先引用form1的单元
    在 uses里面加上unit2
    然后通过form1.edit1.text来访问Form1的控件和变量。通用方法,传地址:
    在显示form2时调用form2的一个方法,传form1.edit1的地址进去,然后在form2中使用地址
    对form1.edit1进行修改。
      

  4.   

    if Form2.Showmodal = mrok then
      Edit1.Text := '谢谢,高手!';
      

  5.   

    应该这样在Form1中
    uses Unit2;创建Form2
    Form2 := TForm2.Create(Self);
    if Form2.Showmodal = mrok then
      Edit1.Text := '谢谢,高手!';
    Form2.Free;
      

  6.   

    先多谢各位了,但我的新窗体是主窗体载入dll文件来创建的,所以我更希望的就是dll文件创建的showmodal窗体能用到主窗体的构件及传递信息到主窗体。请各位说得详细点!多谢了!!!!!!!
      

  7.   

    在公共unit单元定义全局变量
    楼上的应该是:
    Form2 := TForm2.Create(Self);
    if Form2.ModalResult = mrok then
      Edit1.Text := '谢谢,高手!';
    Form2.Free;
      

  8.   

    学习最好具体点阿你们的代码加在form2的什么事件中都不说清楚阿
    是不适oncreate