在Form1调用Form2后,
  采用
Form2.Show;
然后在Form2
 Use Form1
再加个按钮执行如Form1.DBedit1.text:=Edit1.Text
运行时就会出错。

如果我采用在Form1中
  Application.CreateForm(TForm2, Form2);
  if Form2.ShowModal = mrok then
  begin 
     DbEdit1.Text:=Form2.Edit1.Text;
  end;
这样子就可以,这是为什么呢。。

解决方案 »

  1.   

    有点不明白,这个是在Form1中,还是在Form2中?
    Form1.DBedit1.text:=Edit1.Tex不过我想可能关于模式和非模式窗口的问题吧
      

  2.   

    Form2.Show;
    之前创建了吗?
      

  3.   

    点Project-->options或者按SHIFT+CTRL+F11
    把右边的Form2添加到左边就不会错了
    原因是没有创建
      

  4.   

    当然在第一种方法也有这个语句啦
    Application.CreateForm(TForm2, Form2);
      

  5.   

    错误是:
    Access violation at address
    005FB3C7 in module 'Soft.exe'.
    Read of address 00000360.
      

  6.   

    应该是
    Form2.Show;
    之前没有创建?
      

  7.   

    没有创建Form2窗体,那肯定是show不出来啦!
      

  8.   

    方便的话,QQ联系啊。93600035
    Form2上有加个按钮,在点击这个按钮要处理
    Form1.DBedit1.text:=Form2.Edit1.Text
    出错啊,Form2肯定有创建啦。不然怎么执行Form2中按钮呢
      

  9.   

    在Form1调用Form2后,
      采用
    Form2.Show;
    然后在Form2
     Use Form1
    再加个按钮执行如Form1.DBedit1.text:=Edit1.Text
    运行时就会出错。
    改成Edit1.Text:=Form1.DBedit1.text就可以啦